關於素數的算法是程序競賽比較重要的數論知識,我們來看通常會使用的幾個算法。
我們先來復習幾個基本概念:
質數:對於大於1的自然數,若除了1和它本身,沒有別的因數,則稱這個數為質數,質數也叫素數。反之,稱其為合數。
1 #include<iostream> 2 #include<cmath> 3 using namespace std; 4 5 void IsPrime(int); 6 int main() 7 { 8 int Input; 9 cout << "請輸入要判斷的數字:"; 10 cin >> Input; 11 IsPrime(Input); 12 cin.get(); 13 cin.get(); 14 return 0; 15 } 16 17 //判斷是否為質數 18 void IsPrime(int x) 19 { 20 if (1 == x) 21 { 22 cout << "1既不是質數也不是合數!" << endl; 23 return; 24 } 25 for (int i = 2; i <= sqrt(x); i++) 26 if (x%i == 0) 27 { 28 cout << "您所輸入的數字為合數!" << endl; 29 return; 30 } 31 cout << "您所輸入的數字為質數!" << endl; 32 return; 33 }
作者:耑新新,發布於 博客園
轉載請注明出處,歡迎郵件交流:zhuanxinxin@aliyun.com