一、如何寫一個判斷某輸入數字是否為素數(即質數)?
簡單來說有兩種方法:假設從鍵盤輸入一個整數n
【方法一】判斷n是否能被2~n-1間的整數除
1 int isPrime(int k) 2 { 3 int j; 4 for ( j=2; j<k; j++ ) 5 { 6 if(k%j==0) // 如果不為素數返回0 7 { 8 return 0; 9 } 10 } 11 return 1; // 反之則返回1 12 }
【方法二】判斷n是否能被2~√n間的整數除
1 int isPrime(int k) 2 { 3 int j; 4 for ( j=2; j<=sqrt(k); j++ ) 5 { 6 if(k%j==0) // 如果不為素數返回0 7 { 8 return 0; 9 } 10 } 11 return 1; // 反之則返回1 12 }
import:方法一與方法二中,后者的空間復雜度更小,效率更高,不易出錯,親測,五星good job (๑•̀ㅂ•́)و✧
·············································································Graceful Line···············································································································
計算機小白懵懂求學
敬請批評指正!謝謝!
----yuhaow
