#include <stdio.h>
#include <math.h>
int main()
{
int num;
while(scanf("%d", &num) != EOF)
{
if(is_primer(num))
puts("YES");
else
puts("NO");
}
return 0;
}
int is_primer(int a)
{
int i;
if(a==1)
return 0;
for(i=2;i<=(int)sqrt(a);i++)
if(a%i==0)
return 1;
return 0;
}
int is_primer(int a);函数未声明,is_primer()判断素数的函数里,最后两个 return 写反了,修改如下,供参考:
#include <stdio.h>
#include <math.h>
int is_primer(int a);//这里缺了函数的声明
int main()
{
int num;
while(scanf("%d", &num) != EOF)
{
if(is_primer(num))
puts("YES");
else
puts("NO");
}
return 0;
}
int is_primer(int a)
{
int i;
if(a==1)
return 0;
for(i=2;i<=(int)sqrt(a);i++)
if(a%i==0)
return 0;//return 1;
return 1; //return 0;
}
int main()
{
int num;
while(scanf("%d", &num) != EOF)
{
if(is_primer(num))
puts("YES");
else
puts("NO");
}
return 0;
}
oj题目,显示wrong answer