c语言素数的算法

2024年12月03日 04:32
有3个网友回答
网友(1):

思路如下:
1、求2-n之间的所有素数
2、创建一个数组a[n+2],其下表为2...n+1
3、数组的功能是记录那些数十素数,其下标表示素数,元素初始化时全为1,表示全部数假设都是素数
4、从2开始往后访问数组的每一个元素,如果这个数十素数就输出,否则往后遍历
5、遍历的同时如果这个数i是素数,则进一步往后将这个数的倍数2*i,3*i,....将这些数都标记为0表示不是素数 6、执行完毕将输出所有素数了

网友(2):

int i,k;
k=sqrt(x);
for(i=2;i<=k;i++)
if(x%i==0) break;
if(i>k) return 1;//如果是素数返回1,如果非素数返回0
else
return 0;

网友(3):