用户:查看:2 回复:7 评论:2 创建时间:2017-03-02T17:35:56
题目:
找出给出的一个100位正整数中,乘积最大的连续10个数字。它们的乘积是多少?
原题目链接:
https://www.codemao.cn/wiki/forum/2720
给大家讲一下这个题的思路,先把模块发给大家:
(右键—在新标签页中打开图片,即可打开高清图片看清楚)
这里的难点其实是 j+i 这个概念的理解。
首先先搞明白的是,怎么做连续10个数相乘?
对计算机来说,最简单的就是:
1,得数 = 第一个数;
2,重复10次:
{
新得数 = 得数 X 第 i 个数;
得数 = 新得数;
}
如果你们懂得更多的计算机知识以后(比如说“=”在计算机中是赋值运算的意思),第2步还可以简化。
有人会说,我们直接写一个10个数的乘法算式出来不是更简单吗?
如果是100个数相乘呢?
1000个呢?
对于重复循环来说,你只需要把10改成100或1000就可以了。
但你要直接写一个1000个数相乘的算法乘式,那恐怕比老师的罚抄还要累。
理解了怎么做连续10个数相乘,你还可以做到:
A:让第1,3,5,7……17,19项相乘
B:让这一项开始一直乘到最后的第100项的乘积
在发现中搜索“ 连续数字乘积 ”,也可以购买到源代码。
下期见。
All by @tc