1354: 素数判定
1.描述
输入一个正整数n,判断n是否是素数,若n是素数,输出”Yes”,否则输出”No”。
输入
输入一个正整数n(n<=1000)
输出
如果n是素数输出"Yes",否则输出"No"。输出占一行。
样例输入
2
样例输出
Yes
2.代码
#include<stdio.h>
#include<math.h>
int main()
{
int i, n, j;
scanf("%d", &n);
j = sqrt(n + 1);
for(i = 2; i <= j; i++) /// 1到根号下n+1包含了所有能够整除n的因子.
{
if(n % i == 0) ///如果有因子存在,既这个数不是素数,再往下筛选已经没有意义,跳出循环
{
break;
}
}
if(i <=j || n == 1) /// 1不是素数,排除掉,如果输入n是1,或者for循环没到底(for循环到最后一步 i=j+1)
{
printf("No\n");
}
else
{
printf("Yes\n");
}
return 0;
}