素数(也称质数),是指除了1和该数本身,不能被任何正整数整除的正整数。判断一个正整数m是否为素数,只要判断m可否被2~根号m之中的任何一个正整数整除,如果m不能被此范围中任何一个正整数整除,m即为素数,否则m为合数。
方法一:(利用for循环和break语句)
1
2
3
4
5
6
7
8
|
import math m = int ( input ( "请输入一个整数(>1):" )) k = int (math.sqrt(m)) for i in range ( 2 , k + 2 ): if m % i = = 0 : break #可以整除,肯定不是素数,结束循环 if i = = k + 1 : print (m, "是素数!" ) else : print (m, "是合数!" ) |
方法二:(利用while循环和bool变量)
1
2
3
4
5
6
7
8
9
10
|
import math m = int ( input ( "请输入一个整数(>1):" )) k = int (math.sqrt(m)) flag = True #假设输入的整数为素数 i = 2 while (i < = k and flag = = True ): if (m % i = = 0 ): flag = False #可以整除,肯定不是素数,结束循环 else : i + = 1 if (flag = = True ): print (m, "是素数!" ) else : print (m, "是合数!" ) |
例:打印100~200间的全部素数,每行输出10个
1
2
3
4
5
6
7
8
9
|
import math;n = 0 for m in range ( 101 , 201 , 2 ): k = int (math.sqrt(m)) for i in range ( 2 ,k + 2 ): if m % i = = 0 : break if i = = k + 1 : if n % 10 = = 0 : print () print ( '%d' % m,end = ' ' ) n + = 1 |
以上这篇python判断所输入的任意一个正整数是否为素数的两种方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/langzihml/article/details/80042574