#include<stdio.h>
#include<math.h>
int isPrime1(int n);
int isPrime2(int n);
int isPrime3(int n);
int main(void){
int i,count = 0,n;
scanf("%d",&n); //接收键盘输入的n
for(i = 2;i < n;i++){ //举例是2~n
if(isPrime1(i)){ //下面是3中实现素数判断的函数 自己喜欢那种调用哪种
count++; //count为了计数换行的
printf("%3d",i);
if(count%5==0) //每5个数输出一个换行 即5个数一行
printf("\n");
}
}
return 0;
}
int isPrime1(int n){
int i;
for(i = 2;i <= n/2;i++){
if(n % i ==0)
return 0;
}
return 1;
}
int isPrime2(int n){
int i; //此方法的含义是n如果不能被根号n之间的任何一个整数整除即为素数
for(i = 2;i <= sqrt(n);i++){ //sqrt() <math.h>函数库里的方法 开平方的意思
if(n % i ==0)
return 0;
}
return 1;
}
int isPrime3(int n){ //此方法和方法2类似
int i;int k = sqrt(n);
for(i = 2;i <= k ;i++){
if(n % i ==0)
break;
}
if(i >k)
return 1;
else
return 0;
}
C语言实现2~n之间的素数判断的三种方法
最新推荐文章于 2024-03-29 10:20:35 发布