1. 程式人生 > >用python判斷所輸入的任意一個正整數是否為素數

用python判斷所輸入的任意一個正整數是否為素數

    素數(也稱質數),是指除了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變數)
  • 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個
    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