怎样用c++判断一个数是否为素数?
方法如下:
首先先定义一个函数用于判断一个数是否是素数,接着主函数接受键盘输入,并调用该函数判断输入的数是否是素数。
1、补充:素数就是只能被1和自身整除的数。故判断n是否是素数,可以用n依次除以n-1,n-2……2,如果能整除则不是素数,否则是素数。
2、示例:
#include<stdio.h>
#include<iostream>
using namespace std;
int isfun(int n){//判断参数n是否是素数
int i;
if(i<2) return 0;
for(i=n-1;i>=2;i--){
if(n%i==0) return 0;
}
return 1;
}
int main( ) {
int n;
cin>>n;
if(isfun(n)) printf("%d是素数!\n",n);
else printf("%d不是素数!\n",n);
return 0;
}
判断一个整数m是否为素数只需被2~根号m之间的每个数去除就可以了。
下面输入一个整数判断其是否为素数的程序,希望楼主理解其算法,
#include <iostream.h>
#include <math.h>
bool is_prime(int n)
{ int i,j;
for (i=2, j=int(sqrt(n)); i<=j; i++)
if (n%i == 0) return false;
return true; }
void main()
{ int n;
cout << "请输入一个正整数:";
cin >> n; //从键盘输入一个正整数
if (n < 2)