int main()
{ int input = 0;
scanf_s("%d",&input);
if (input < 2)
{
printf("wrong input");
return 0;
} for (int i = 2; i < input; i++)
{
if (input % i == 0)//能整除说明不是素数
{
printf("not prime");//不是素数就不要循环下去了
return 0; } }
//如果流程到了这里,说明input已经对i到input-1这中间所有的整数都尝试过了
//而且都不能整除,说明是素数。
printf("is prime"); return 1;
今天又想出了一种方法,感觉这种比较好理解。
int main()
{ int Isprime ;//素数标志,如果一个数是素数,它的结果就是1,不是它的结果即使0
int input = 0; scanf_s("%d", &input);
if (input < 2)
{
printf("wrong input ");
return 0;
} for (int i = 2; i < input; i++)
{
if (input%i == 0)
{
Isprime = 0;//不是素数
break;// 不是素数就不用往下循环了,直接跳出来。
}
else
{
Isprime = 1;
}
} if (Isprime == 1)
{
printf("is prime\n");
}
else
{
printf("not prime\n");
} }