Python题目编程输出3到100 内的所有素数
编程输出3到100 内的所有素数。输出时每行输出5个数,每个数占据5列宽。
回答
1 def fun(num): # 这是一个判断素数的函数,放入参数 num (即我们需要判断的数字),不是素数返回 0,否则返回 12 # 我使用的是一种耗时较短的判断素数的方法,
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