求编程题目思路

”求一本书全部页码中所有单个数字的和(例如第123页,它的和就是1+2+3=6),设这本书总页码为n”具体程序可以省略,一定要把思路讲清楚... ”求一本书全部页码中所有单个数字的和(例如第123页,它的和就是1+2+3=6),设这本书总页码为n”
具体程序可以省略,一定要把思路讲清楚
展开
 我来答
bbq1072
2020-07-23 · TA获得超过434个赞
知道小有建树答主
回答量:449
采纳率:0%
帮助的人:84.4万
展开全部

两个循环,第一个:循环页码,从第1页到第n页,第二个:每个页码拆分成单个数字相加。

代码如图:(n为总页码)

例如:总页码n为123,则运行结果为:1038

武天89
2020-07-23
知道答主
回答量:55
采纳率:0%
帮助的人:3.6万
展开全部
哪种语言,我只会Python
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cinadout
2020-07-23 · TA获得超过193个赞
知道小有建树答主
回答量:139
采纳率:68%
帮助的人:35.7万
展开全部

我想到两种方法

  1. 暴力求解:循环1到n,将每个数通过%10求得每一位的数字后相加,最终得到结果,时间复杂度为n*(n的最高位数)

  2. 优化算法:按位来循环,首先要求出1,10,100,...,10^(n的最高位数)的各位和;举个例子,设n=100c+10b+a,则n的各位和=(c-1)*(100的各位和)+c*(10b+a+1)+[(10b+a)的各位和];这样就将n的百位去除了,接下来只用求10b+a的各位和就行了,这样n不管多大都没问题,时间复杂的为(n的最高位数)

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
网工大神Neo
2020-07-23 · 专业网络工程师,电脑、数码达人
网工大神Neo
采纳数:62 获赞数:82

向TA提问 私信TA
展开全部
s=0, 用求余数的办法,将m=n/10取整,,y=n%10取余,s=s+y, n=m循环到余数为0。余数累加和s就是结果。
希望能帮到你,麻烦给个采纳点个赞,谢谢!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式