求编程题目思路
”求一本书全部页码中所有单个数字的和(例如第123页,它的和就是1+2+3=6),设这本书总页码为n”具体程序可以省略,一定要把思路讲清楚...
”求一本书全部页码中所有单个数字的和(例如第123页,它的和就是1+2+3=6),设这本书总页码为n”
具体程序可以省略,一定要把思路讲清楚 展开
具体程序可以省略,一定要把思路讲清楚 展开
4个回答
展开全部
哪种语言,我只会Python
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我想到两种方法
暴力求解:循环1到n,将每个数通过%10求得每一位的数字后相加,最终得到结果,时间复杂度为n*(n的最高位数)
优化算法:按位来循环,首先要求出1,10,100,...,10^(n的最高位数)的各位和;举个例子,设n=100c+10b+a,则n的各位和=(c-1)*(100的各位和)+c*(10b+a+1)+[(10b+a)的各位和];这样就将n的百位去除了,接下来只用求10b+a的各位和就行了,这样n不管多大都没问题,时间复杂的为(n的最高位数)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
s=0, 用求余数的办法,将m=n/10取整,,y=n%10取余,s=s+y, n=m循环到余数为0。余数累加和s就是结果。
希望能帮到你,麻烦给个采纳点个赞,谢谢!
希望能帮到你,麻烦给个采纳点个赞,谢谢!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询