|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
可能对于各位大神这个是小case,不过对于我初初学习python的来说还是很激动的,这个过程本身就是很好的学习过程。
先看到了那个欧拉数学--计算200万以内所有质数和,于是就想了一个问题--怎么判断一个数是否是质数?
开始思路就是一路除除除。。。后来就是一半数来除除除
从开始连人家的几段代码都看不懂,后来找pyhton循环恶补。。。才知道break continue的妙用!
再后来想到 从2开始拿后面的数字一个一个除去2, 3,5,7这些剩下的质数来缩减列表的数字量。
弄了一个下午。。。终于搞出来了。
大家别介意,实在是兴奋了一把。
也想和大家学习python的朋友分享一个经验:为解决一个问题的努力过程是最好的学习过程!
最后附带代码:
- temp = input('请输入一个大于2的整数,我会告诉你2~整数之间的质数')
- temp = int(temp)
- lb = list(range(2,temp))
- j = 0 #质数序列号
- i = j+1 #内部序列号
- while j < len(lb):
- while i < len(lb):
- if lb[i] % lb[j] == 0:
- print(lb[i],'不是质数') # 调试代码可以删除
- del lb[i]
- print('这时候i= ',i,list(lb)) # 调试代码可以删除
- continue
- else:
- i += 1
- print('除以',lb[j],'最后的结果是:',lb) # 调试代码可以删除
- j += 1
- i = j+1
- print(j,len(lb)) # 调试代码可以删除
- result = sum(lb)
- print('2~',temp,'之间的所有质数的和是',result)
复制代码
|
|