用C++实现判断一个数是否为素数。要求在main函数中输入一个整数,判断是否为素数的过程由fun函数实现。

2024年11月17日 02:37
有5个网友回答
网友(1):

这个事判断是否为素数的子函数,我见过的最经典的代码
int func(int m)
{
int i;
for(i=2;i*i<=m;i++)
if(m%i==0)
return 0;
return 1; //这里说明一下,返回的值可以使m也可以是1,只要不是0就可以,
} //主要看你怎么利用,要是在调用的函数中想用到m这个值,可以返回m
//只是判断是否为素数,这个后面的return只要不是0就可以

网友(2):

int prime(int m)
{
int i;
for(i=2;i<=m;i++)
if(m%i==0)
return 0;//不是素数
return 1; //是素数
}

网友(3):

#include
int func(int m)
{
int i;
for(i=2;i*i<=m;i++)
if(m%i==0)
return 0;
return 1;
}

int main()
{
int m=0;
cin>>m;
if(func(m))
{
cout<<"素数";
}
else
{
cout<<"不是素数";
}

}

网友(4):

这是我以前的程序改的:
#include
#include
#include
#include
int fun(int nNumber)
{
int nLoop,m;
if(nNumber==1)return 0;
if(nNumber==2)return 1;
if(nNumber==3)return 1;

m=(int)sqrt(nNumber);
for(nLoop =2;nLoop<=m;nLoop++)
{
if((nNumber%nLoop)==0)return 0;
}
return 1;
}

//---------------------------------------------------------------------------

int main(int argc, char* argv[])
{

int n;
printf("Plese input a integer number(end by Enter): \n");
scanf("%d", &n);
if( fun(n))
{
printf("%d是素数\n",n);
}
else printf("%d不是素数\n",n);
system("pause");
return 0;
}

网友(5):

一楼命名空间没有啊,for循环中出问题