问题引入
利用while函数进行判断是否为素数,当n很大的时候,程序的效率会变大,提高效率的方法先去除偶数,判断奇数中的素数,可提高素数的得出速度,更快的方法是用sqrt判断素数
#include<stdio.h>
int isPrime(int x);
int main(){
int x;
scanf("%d",&x);
if(isPrime(x)){
printf("%d是素数\n",x);
}else{
printf("%d不是素数\n",x);
}
return 0;
}
int isPrime(int x){
int ret=1;
int i;
if(x==1||(x%2==0&&x!=2))
ret =0;//除去偶数
for(i=3;i<x;i+=2){
if(x%i==0){
ret=0;
break;
}
}
return ret;
}
进一步利用函数条件提高效率
#include<stdio.h>
#