判断一个数是不是素数
素数是只能被1和本身的数整除,不包括1。
第一种做法:
#include <>
int main()
{
int i;
int x;
scanf("%d",&x);
if(x == 1){
printf("素数不包括1,素数是除了1和本身的数以外不能被整除的数\n");
} else{
for(i=2; i<x; i++){
if (x%i==0){
break;
}
}
if (i == x){
printf("是素数\n");
}else{
printf("不是素数\n");
}
}
}
第二种做法:
#include <>
int main()
{
int i;
int x;
int isPrime = 1;
scanf("%d",&x);
if(x == 1){
printf("素数不包括1,素数是除了1和本身的数以外不能被整除的数\n");
} else{
for(i=2; i<x; i++){
if (x%i==0){
isPrime = 0;
break;
}
}
if (isPrime == 1){
printf("是素数\n");
}else{
printf("不是素数\n");
}
}
}
两种做法都能输出相同的效果,但是不提倡第一种做法,第一种做法逻辑上不严谨,它只是通过计数的方式来统计i最输数出的是否与x本身相等。而第二种是通过isPrime变量来判断是不是素数,比第一种的做法思路更明确。