2021.9.21 “求十个数的乘积”

1.输入第一个数,放在X中

2.用i统计相乘的次数,其初始值为1

3.若i<=9转第四步,否则转第八步

4.在输入一个数,放在A中

5.将X*A,得到的乘积存入X中

6.i+1

7.返回到第三步

8.输出X

 

 

1乘以3乘以5乘以7一直乘到2021是一个连续奇乘积,这种类型的乘积通常称为“交错乘积”或“连分”,它们的计算特性比较特殊。对于奇序列的这类乘积,其最后几位字的行为可以由较小的几个决定,特别是最接近2021的那个奇。 由于2021的后三位是211,我们需要看的是这组列中哪些字与211相乘后影响最终结果的后三位。每次增加的因子都是奇,如果奇n能够整除211,并且n和211的乘积的个位能参与到后续的乘法中,那么这个n就是关键因素。 我们知道,从1开始,奇的个位会按照1、3、5、7、9、1、3、5、7...循环。当乘积到达某个点,其中包含了一定量的5(因为5和它之后的奇都能整除211),则乘积的后两位将变为0,因为每增加一个5,乘积的个位就变成0。而211本身个位为1,所以不会立即抹去前面奇贡献的个位。 为了找出真正影响后三位的因子,我们可以尝试找到小于等于2021的最大奇m,使得m * 211的结果的个位不是0。实际上,2021已经很接近这个临界值了,因为2021 = 2 * 1011,这意味着211乘以一个小于等于1011的奇(即2021自身减去1)的个位就不会为0。 计算211 * (2021 - 1) = 211 * 2020,结果是428420。现在我们看到,2020的个位是0,因此所有大于2020的奇都不会改变结果的后三位。所以,原始乘积的后三位是由1、3、5...以及211本身的乘积决定的。 由于1*3*5的个位是5,接下来是15(= 3 * 5)的个位也是5,然后15*5的个位是5...如此循环,直到211为止。211的个位已经是1,再次与前一位的个位5相乘,结果个位将是0(1 * 5 = 5,但是5 * 5 = 25,个位为5)。所以,211与之前的因子相乘后,个位会变成0,因此整个乘积的后三位是0。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值