利用素数表确定n以内的素数的基本算法思想:
1.确定n的大小,并开辟一个prime数组,将其所有的元素值初始化为1,代表的个位置的下标是素数;
2.定义一个变量下,并给其赋初值为2,让其遍历数组下标;
3.如果x是素数,即prime[x]==1;则对于所有的(i=2;i*x<n;i++)
令prime[i*x]=0;
4.让x自增,并判断x是否小于n,若是,则输出;否则转到3;
5.对于输出素数时,注意输出的是数组元素为1 元素的下标,注意下表是从2向后递增的。
具体的C语言代码如下:
#include<stdio.h>
int main()
{
int const number=1000; //确定筛选的范围
int prime[number]; //开辟一个整型数组
for(int i=0 ; i<number ; i++ )
prime[i]=1; //将数组初始化,1代表对应的下表为素数,注意要排除0和1;
for(int x=2 ; x<number ; x++ ) //从2开始向后筛选;
{
if(prime[x]==1) //如果下表对应的数是素数,那么将对于(i=2;i*x<number ;i++)都不是素数 ,将1置为0;
for(int i=2 ; i*x<number ; i++)
prime[i*x]=0;
}
for(int i=2;i<number;i++) //对素数进行输出;
if(prime[i]) //如果数组里面的值是1说明下标对应的自然数是素数 ,注意这里下标的起始值;
printf(\"%d\\t\",i);
printf(\"\\n\");
return 0;
}
继续阅读与本文标签相同的文章
-
javascript教程:实现函数柯里化与反柯里化
2026-05-18栏目: 教程
-
基于宜搭的“定时消息通知”实践案例
2026-05-18栏目: 教程
-
AIoT入门:用虚拟设备体验物联网平台设备上云&设备数据存储
2026-05-18栏目: 教程
-
基于宜搭的“企业报销流程”实践案例
2026-05-18栏目: 教程
-
计算的旋律—阿里云视觉语言的探索
2026-05-18栏目: 教程
