基础求素数的算法
#include<stdio.h>
int main()
{
int x, y;
int n = 100;
for (x = 2; x <= 100; x++){
for (y = 2; y < x; y++){
if (x%y == 0){
break;
}
if (y == x - 1){
printf("%d", x);
}
}
}
return 0;
}
------------------------------------------------
筛取求素数的方法
#include<stdio.h>
#include<math.h>
#define M 100 //定义一个常量
int shuzu[M]; //定义一个数组
int main()
{
int x,y;
for(x=2;x<M;x++){ //第一次,把2的倍数全部去掉
if(x%2)
shuzu[x]=true;
else
shuzu[x]=false;
for(x=3;x<=sqrt(M);x++){ //从3开始(素数判断条件是>sqrt(M))
if(shuzu[x]){
for(y=2x;y<M;y+=x){ //是这个数的倍数的全都去掉
shuzu[y]=false;
}
}
}
}
for(x=2;x<M;x++){
if(shuzu[x]&&shuzu[y]){ //都满足不是,则是素数
printf("%d,%d",x,yes);
}
else
printf("%d,%d",x,no);
}
}
素数作业
最新推荐文章于 2023-03-07 15:14:46 发布