这个事判断是否为素数的子函数,我见过的最经典的代码
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就可以
int prime(int m)
{
int i;
for(i=2;i<=m;i++)
if(m%i==0)
return 0;//不是素数
return 1; //是素数
}
#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<<"不是素数";
}
}
这是我以前的程序改的:
#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;
}
一楼命名空间没有啊,for循环中出问题