第一种:
int fact(int n)
{
if(n==1)
return 0;
else if(n==2)
return 1;
else
{
int i;
for(i=2;i<=sqrt(n);i++)
{
if(n%i==0)
return 0;
}
return 1;
}
}
第二种:
int fact(int n)
{
if(n==1)
return 0;
else if(n==2)
return 1;
else
{
int i;
for(i=2;i<=n;i++)
{
if(n%i==0)
break;
}
if(i==n)
return 1;
else
return 0;
}
}
第三种:
int fact(int n)
{
int i;
if(n==1)
return 0;
for(i=2;i<=sqrt(n);i++)
{
if(n%i==0)
return 0;
}
return 1;
}
两种方法均可,但第一,三种明显优于第二种,在作业平台上(类似于pta)第二种函数调用时易运行超时。