用vs實現判斷一個整數是否為素數
阿新 • • 發佈:2018-11-10
用vs實現判斷一個整數是否為素數,如果不是輸出它的因子
我們知道在數學應用中素數佔有極為重要的作用,所以如何判斷一個數是否為素數顯得極為重要。
判斷素數方向:如果一個數小於等於1,那麼它不是素數;如果它大於等於2,開始分類討論。
具體實現:如果這個數n大於等於2,用這個數依次除以2到n-1,判斷是否整除,如果整除則餘數為0,如果餘數為0,則將它寄存在b(0)中並輸出此時的被除數i,如果有一個數被整除則b+1,用以記憶除一和它自身外的因子個數。最後如果b等於0,則它為素數
具體程式碼:其中pch.h 為vs2017中標頭檔案,可以換成stdio.h
#include "pch.h" #include <iostream> using namespace std; int main() { int a = 0; int b = 0; int c = 0; int n; cout << "請輸入一個整數" << endl; cin >> n; if (n <= 1) c += 1; for (int i = 2; i < n; i++) { a = n % i; if (a == 0) { cout << i << endl; b += 1; } } cout << "除1和自身外,它的因子有" << b << "個"<<endl; if (c + b == 0) cout << "這個數是素數" << endl; else cout << "這個數不是素數" << endl; return 0; }
此外注意:
此方法僅僅適用 一個 整數 的判別!
可以進一步用迴圈完善為判斷多個數是否為素數;
也可以附加非整數時的判斷,
此處就不多介紹了。