1. 程式人生 > >用vs實現判斷一個整數是否為素數

用vs實現判斷一個整數是否為素數

             用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;

}

此外注意:
此方法僅僅適用 一個 整數 的判別!
可以進一步用迴圈完善為判斷多個數是否為素數;
也可以附加非整數時的判斷,
此處就不多介紹了。