ZZULIOJ题解
1057: 素数判定
题目描述
输入一个正整数n,判断n是否是素数,若n是素数,输出”Yes”,否则输出”No”。
输入
输入一个正整数n(n<=1000)
输出
如果n是素数输出"Yes",否则输出"No"。输出占一行。
样例输入
2
样例输出
Yes
本题是对循环语句和判断语句的考察,这里需要注意的是只需要找到根号下n以内即可,因为如果根号n不符合条件,那么比他大的数字显然不符合。
代码
#include<stdio.h>
#include<math.h>
int main()
{
int x,i,find;//定义未知数x,循环变量i,定义标志find
scanf("%d",&x);//键盘输入x的值
find=0;//标志值初始化
for(i=2;i<=(int)sqrt(x);i++)//循环来判断是否是素数
{
if(x%i==0)//如果取余结果为0,说明是素数
{
find=1;//改变标志find
break; //结束循环
}
}
if(x==1||find==1)//如果x是1或者找到了其因数
printf("No");
else//否则
printf("Yes");
return 0;//程序正常退出
}