方法一:
#include <stdio.h>
#include <math.h>
int main()
{
int n,i;
scanf("%d",&n);
for(i=2;i<n;i++)//解题思路:一个素数只能被1和本身整除,任何数都能被1整除,所以我们将设置除数从2开始,如果除数一直递增到被除数n的前一位也就是n-1还不能被整除,那么说明输入的n为素数
{
if(n%i==0)
{
break;//如果n%i==0说明n已经可以被整除,不是一个素数,跳出for循环
}
}
if(i==n)
{
printf("Yes");//当循环进入第n次的时候将会不满足for循环中的i<n,退出循环,此时i=n,满足作为素数的条件
}
else
{
printf("No");
}
return 0;
}
方法二:引用标志数
#include <stdio.h>
#include <math.h>
int main()
{
int n,i,flag=0;//flag标志数
scanf("%d",&n);
for(i=2;i<n;i++)//题思路:一个素数只能被1和本身整除,任何数都能被1整除,所以我们将设置除数从2开始,如果除数一直递增到被除数n的前一位也就是n-1还不能被整除,那么说明输入的n为素数
{
if(n%i==0)//如果n%i==0说明n已经可以被整除,不是一个素数
{
flag=1;
}
}
if(flag==0)//当标志数没有发生变化,表示n是素数
{
printf("Yes");
}
if(flag!=0)//标志数发生变化,表示n不是素数
{
printf("NO");
}
return 0;
}
标签:标志,include,int,scanf,flag,素数,ZZULIOJ157,判定,main From: https://blog.csdn.net/weixianpaidui/article/details/139844306