C++判斷一個數字是否為質數


關於素數的算法是程序競賽比較重要的數論知識,我們來看通常會使用的幾個算法。

我們先來復習幾個基本概念:

質數:對於大於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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM