Python题目编程输出3到100 内的所有素数

编程输出3到100 内的所有素数。输出时每行输出5个数,每个数占据5列宽。

回答

 1 def fun(num):  # 这是一个判断素数的函数,放入参数 num (即我们需要判断的数字),不是素数返回 0,否则返回 1

2 # 我使用的是一种耗时较短的判断素数的方法,

3 # 如:24=2*12=3*8=4*6 因数有:2 3 4 6 8 12,且因数是一一配对的,找出小的就找出大的了,

4 # 且小的和大的因数的区别是 24开根号(对于任何正整数都是这样的),只要找出小的就必定能找出大的(24/2=12)

5 # 只要一个数不能被 小于等于 它的开根号的数 整除 就意味着它是素数

6 i = int(2)

7 while i * i <= num: # 判断条件还可以写成 i <= sqrt(num)

8 if num % i == 0:

9 return 0 # 一旦被整除就不是素数,返回数字0

10 i += 1

11

12 return 1

13

14

15 if __name__ == "__main__": # 这是主函数

16 cnt = int(0) # 定义一个(整型)计数器,用于满五个数字换行

17 for i in range(3, 101): # for循环遍历数字 3到 100

18 if fun(i) == 1:

19 cnt += 1 # 如果判断的数字是素数,计数器进行累加

20 # 并且使用 print 函数(方法)进行格式控制输出

21 print("%5d" % i, end='') # 把 5 改成 -5 即可变成靠左输出

22 if cnt % 5 == 0: # 如果计数器达到 5,表示可以换行,使用 print() 进行换行

23 print()

24 cnt = int(0) # 计数器归零

以上是 Python题目编程输出3到100 内的所有素数 的全部内容, 来源链接: utcz.com/a/46268.html

回到顶部