用python判斷所輸入的任意一個正整數是否為素數
阿新 • • 發佈:2019-02-08
素數(也稱質數),是指除了1和該數本身,不能被任何正整數整除的正整數。判斷一個正整數m是否為素數,只要判斷m可否被2~根號m之中的任何一個正整數整除,如果m不能被此範圍中任何一個正整數整除,m即為素數,否則m為合數。
- 方法一:(利用for迴圈和break語句)
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變數)
例:列印100~200間的全部素數,每行輸出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, "是合數!")
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