题目:1057
题目描述
输入一个正整数n,判断n是否是素数,若n是素数,输出”Yes”,否则输出”No”。 注意:1不是素数。
输入
输入一个正整数n(n<=1000)
输出
如果n是素数输出"Yes",否则输出"No"。输出占一行。
样例输入
2
样例输出
Yes
提示
注意:1不是素数。
注意:1不是素数。
注意:1不是素数。
除了1和它本身没有其他公因数的数成为素数,所以设置循环的起末位置可以是2、n-1。
#include <stdio.h>
int main()
{
int n, i;
int flag = 0; //定义标志物flag为0
scanf("%d", &n);
for (i = 2; i < n; i++)
/ 从2遍历循环到n - 1
{
if (n % i == 0) //如果n能被2到n-1之间的数整除,证明n是合数
{
flag = 1; //标志物flag变为1
break; //直接跳出循环
}
}
if (flag || n == 1) //如果n为合数或n为1,输出no
printf("No");
else
printf("Yes"); //否则n就是素数,输出yes
return 0;
}