2022年05月23日

分类: 研究-学习 |

昨晚和王老师探讨了一下,一开始我还在感叹python方法的便捷,觉得c++处理太麻烦,经过王老师指导后,发现原来是自己的认识有误区,c++也依然能够简洁化的实现。
这里面一开始存在的问题是最后一个质数不能输出,其根本原因是n在不断的变化,i也在逐步累加,一直到n和i相同(即n%i==0),所以在循环条件上必须是i<=n.
for循环也是一样的道理。
在此基础上,我还想到python的最外层循环是否可以省略,但是发现只要存有多个不同的质因子时,缺少了外层的循环便实现不了。如输入10,可以输出2和5,输入12可以输出2
2 3,但是输入30时,输出的便是2与15,缺少了外层的循环。
n=30
i=2
while n%i==0:
else:
print(n)
前一篇:求解质因子解析
后一篇:字典作为列表元素参与排序的方法