[Python初学者]计算100以内的素数之和的几种方法 | 您所在的位置:网站首页 › 用python计算n! › [Python初学者]计算100以内的素数之和的几种方法 |
第一种方法:循环法 sum = 0 for i in range(1,101): """第一个循环,遍历1-100的数,准备找素数""" for n in range(2,i): """第二个循环,按照素数的定义,找出从2开始的所有比它小的数""" if i%n ==0: break """相除求余,如果有可以被除尽的n,则第一个循环取出的 i 不是素数,直接中断退出,不需要继续算完了""" else: """如果没有,则 i 是素数""" sum += i """用sum记录下找出的 i 的和""" print('100以内的素数和是:{}'.format(sum))第二种方法:定义函数法 def fun(n): """定义一个函数,这个函数的作用就是判断输入的 n 是不是素数。它的返回值是 False 和True。""" for i in range(2,n): if n%i == 0: return False else: return True sum = 0 for i in range(2,101): if fun(i): """如果为真,即如果fun(i)返回的值为True,i 为素数,则进行下面的累加""" sum += i print(sum)当然,找质数的过程并不需要遍历每一个比它小的数,只需要遍历从2开始到这个数的平方即可。可以引入math函数中的sqrt (),从而降低代码运行量。 |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |