判別是否為「質數」(Prime Number)


所謂「質數」(prime number, 或稱為「素數」) 是大於 1 的自然數,除 1 及其本身外沒有除數。 大於 1 的自然數若非質數則稱為「複合數」 (composite number)。 例如,5 是質數,因為它只能被 1 和 5 (本身) 整除。 6 則是一個複合數 (不是質數) ,因為它可以被 1、2、3 和 6 (本身) 整除。
編寫一個程式,讀入一個大於 1 的正整數,並判別該整數是質數或是複合數。

# Prime Number

def is_prime(i):
   prime = True
   for n in range(2,i//2+1):
      if (i % n == 0):
         prime = False
         break
   return prime

i = int(input("Enter a positive integer number greater than 1: "))
if (is_prime(i)):
   print("The number %d is a prime number." % i)
else:
   print("The number %d is a composite number." % i)

在此示例中,我們在提示 "Enter a positive integer number greater than 1: " 時鍵入 5 ,得到以下結果
Enter a positive integer number greater than 1: 5
The number 5 is a prime number.

而如果我們在提示時鍵入 6 ,其結果則為
Enter a positive integer number greater than 1: 6
The number 6 is a composite number.