哪位大神教教我while语句里面的那几个语句什么意思,题目是求输出1到100之间每位数的乘积大于每

哪位大神教教我while语句里面的那几个语句什么意思,题目是求输出1到100之间每位数的乘积大于每位数的和的数... 哪位大神教教我while语句里面的那几个语句什么意思,题目是求输出1到100之间每位数的乘积大于每位数的和的数 展开
 我来答
厌学依丝9011
2015-12-31 · TA获得超过1390个赞
知道小有建树答主
回答量:514
采纳率:100%
帮助的人:559万
展开全部
因为你要算各个位的乘积以及和,所以你要把每一位取出来,while里面的就是取出每一位的是,m%10就是m对10求余,取出个位,m/10就是m整除10,相当于取出十位
碧海风云

2017-06-16 · 碧海风的秘密小据点!
碧海风云
采纳数:909 获赞数:10281

向TA提问 私信TA
展开全部
while循环的作用是剥离一个数字的每一位,并且计算每一位数乘积与加和。
m%10,m除以10取余数,结果得到m的最后一位数字。例如,m=23,m%10=3,即得到m的最后一位数字。
m/10,int类型的m除以int类型的10,结果相除后取整,等价于截断m的最后一位数字。例如,m=23,m/10=2,即截断m的最后一位数字。
如此循环,直到m=0时,即取出了m的每一位数字。
k*=m%10,每次循环均累乘以当前从m中取出的一位数字,即实现计算m每一位数乘积。
s+=m%10,每次循环均累加以当前从m中取出的一位数字,即实现计算m每一位数加和。
以上是算法原理讲述,再完整模拟一下算法执行的过程。

假设m初始值为23。
m不为0,第1次循环:k赋值1*23%10=3 → s赋值0+23%10=3 → m赋值23/10=2。
m不为0,第2次循环:k赋值3*2%10=6 → s赋值3+23%10=5 → m赋值2/10=0。
m为0,循环结束。
此时,k即m每一位数乘积,s即m每一位数加和。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式