素数筛算法实现-C语言

Ollama运行DeepSeek大模型调优指南:GPU与CPU协同实现性能最大化 Ollama运行DeepSeek大模型调优指南 阅读详情

素数筛

1,标记一个范围内的数字是否是合数,没有被标记的则为素数

2,算法的空间复杂度为O(N),时间复杂度为O(N * loglogN)

3,总体思想是用素数去标记掉不是素数的数字,例如我知道i是素数,那么2i,3i,4i …就都不是素数

一句话:用素数标记合数

#include <stdio.h>
#include <inttypes.h>

#define MAX_N 100
int prime[MAX_N + 5];

void init() {
	for (int i = 2; i <= MAX_N; i++) {
		if (prime[i]) continue;
		prime[++prime[0]] = i;
		for (int j = i * i; j <= MAX_N; j += i) {
			prime[j] = 1;
		}
	}
	return;
}

int main() {
	init();
	for (int i = 1; i <= prime[0]; i++) {
		printf("%d\n", prime[i]);
	}

	return 0;
}
Trae 保姆级使用指南,零基础小白也能实现编程。 Trae 使用指南 Trae AI 使用 零基础编程 满血版 DeepSeek-R1&V3 AI IDE 深度理解中文开发场景 傻瓜式编程 编程入门 开发入门 阅读详情

相关推荐

高阶玩法——Dify生成的数据自动写入mysql数据库

采用自定义工具方式,利用 python编写一个服务sql_save_post,将接收到的内容写入指定数据库的表中,并为该服务撰写一个 OpenAPI 的 schema。配置工作流:我们以写入天气预报为例,在生成天气预报内容后,连接自定义工具“sql_save_post”,将所需的字段配置完成后,实现将生成的内容自动写入mysql数据库中。编写OpenAPI的schema:在dify平台的工具栏目,创建自定义工具,输入工具名称“sql_save_post”。工具:sql_save_post;

qq_44493378的博客 8539

Python | 使用进程池统计指定范围内素数的个数

适用专业:适用于计算机、网络工程、软件工程等相关专业,其他专业选做。实验目的:(1)了解使用Python标准库multiprocessing编写多进程程序的方法。(2)理...

Python专栏 2538

船舶轨迹预测中的5个常见坑:基于LSTM单步预测的避坑实践

本文针对船舶轨迹预测中LSTM单步预测的常见问题,系统总结了五个典型陷阱及避坑实践。重点分析了如何正确处理AIS数据的非均匀采样与清洗、对航向角进行周期性编码、采用轨迹级归一化策略、缓解单步滚动预测的误差累积,并设计贴合业务的评估指标。这些实践能有效提升预测模型的准确性与实用性。

cnn8visionary的博客 631

C语言丨筛法求素数(质数)

素数(质数)是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。素数被广泛用于密码学、汽车变速箱齿轮设计、害虫的生物生长周期与杀虫剂使用之间的关系、导弹和鱼雷等领域上,具有重要意义。本文就来介绍求素数的一种方法:筛法。

weixin_60921752的博客 1万+

创建可视化机房

(3)窗户位置创建好以后需要对窗户的墙面镂空位置进行修补,具体操作为,选中镂空位置的顶点(这里必须是选择一个平面的顶点,不要跨平面选择),实际操作如下图:选择点以后,鼠标右键,选择【从顶点创建边/面】,或者按F键,随后对其他镂空位置进行相同操作;(2)将【物体模式】修改为【编辑模式】,选中-x对应面的所有顶点,移动顶点位置,其他放小调整按照同理,找到选中对应面的所有顶点,移动位置即可;调整动画事件轴上的线,选中关键帧的时间,调整模型的位置或者旋转角度,具体根据插入关键帧菜单选择的项进行模型的相关调整。

SmileBu丿㦌的博客 2062

Blender入门教程-3D视图界面介绍

3D视图用于与3D场景交互,可用于各种目的,例如建模、动画、纹理绘制等。在关闭 启动画面 后,启动场景会显示在3D视口中(如果没有加载其他blend文件)。01 标题栏标题栏包含了基于当前 模式 的各种菜单和控制。

weixin_52345129的博客 2287

Python使用多进程批量判断素数

代码功能:使用进程池判断素数,统计100000000以内的素数个数。from multiprocessing import Pooldef isPrime(n): if n<2...

董付国的Python专栏 745

基于matlab的CNN食物识别分类系统,matlab深度学习分类,训练+数据集+界面

饮食在人们的日常生活、营养与医疗建议以及运动员等专业人士的训练上起着越来越重要的作用。随着互联网的发展和医学的进步,人们普遍上传分享和记录的食物图像形成了非常多的数据库,为了改善饮食结构,塑造更健康的生活方式,分析食物的种类、热量和进食时间成为了营养学上非常重要的研究方法,本文的使用深度学习算法可以根据用户上传的食物图像自动分析食物种类。深度学习是机器学习领域的一个研究方向。深度学习通过对数据特征的学习将原始数据转化为计算机可以理解的抽象数据,根据学习到的特征,可以对原始数据进行检测或分类。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 4719

Python测试序列是否所有相邻元素之间都具有升序关系

代码功能:测试给定序列中是否所有相邻元素都具有严格的升序关系,也就是每个元素都比相邻的后面元素小。温馨提示进入公众号,通过菜单“最新资源”==>“历史文章”可以快速查看分专题的文章列...

董付国的Python专栏 388

地统计插值学习心得(一)

(创建地统计图层工具用于根据现有的地统计图层或者地统计模型来创建包含新要素数据集的地统计图层,也就是使用构建好的地统计模型用到新的数据集中)这表明,远离极值的区域预测不受极值的影响,并且还表明,包括极值会导致钼元素浓度高的区域周围的预测明显变高。通常,我们使用同一个数据集进行建模和预测,但是在实际插值过程中,这两步的数据可以是不同的,这就是处理极值的诀窍。如果你的数据集有无法忽略的极值时(比如这些钼元素浓度),一种常见的方法是首先显式移除极值进行建模,然后在预测中使用整个数据集(包括极值)。

JData_Engineer的博客 284

UG NX二次开发(C#)-读取PMI对象的名称

摘要:本文介绍了在UG NX中通过NXOpen获取PMI对象名称的方法。首先说明PMI对象初始无名称,可通过重命名或属性设置名称。然后提供C#代码示例,展示如何遍历PMI集合获取对象名称,并显示名称和类型信息。适用于需要操作PMI对象的开发人员,欢迎加入技术交流QQ群749492565。(99字)

GimiGimmy 589

【C语言】筛选法求素数

判断素数的方法

weixin_63449996的博客 9555

C#里使用NModbus来创建一个TCP从站服务

摘要:本文介绍了一个用C#实现的Modbus TCP从站服务器,基于.NET Framework 4.6.1开发。代码使用NModbus库创建TcpListener和ModbusSlaveNetwork,支持设置IP地址、端口号和从站ID。服务器实现了数据存储初始化功能(包括线圈和保持寄存器),并提供了启动/停止操作的UI界面和日志记录功能。该解决方案适用于需要调试Modbus TCP协议的场景,特别适合无法升级到更高版本.NET Framework的环境。

大坡3D软件开发 477

素数筛

素数筛#include<stdio.h> #include<math.h> #define num 200 int a[num+1]; int main(){ int i, j; for(i=0;i<=num;i++) a[i]=1; a[0]=a[1]=0; for(i=2;i<=num;i++){ if(a[i]==1){

NeverWA的博客 1万+

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

c语言进阶编程算法题

C语言进阶编程算法题素数筛折半查找法欧几里得算法牛顿迭代算法 素数筛 折半查找法 欧几里得算法 牛顿迭代算法

weixin_46461481的博客 540

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

互逆素数

/*编写一个判断素数的函数,如果该数字是素数,则函数返回1;否则函数返回0。要求调用该判断素数函数,求出x到y之间(x,y均为正整数,包含x,y,且x所有的可逆素数。所谓可逆素数是指:若将某一素数的各位数字顺序颠倒后得到的数仍然是素数,则此素数称为可逆素数。例如:149是可逆素数(因为149是素数,941也是素数)。*/ #include #include #include #define

坏鱼儿恋夏的博客 2138

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

C语言程序与设计——数组

数组就是相同类型数据的集合,且内存中数组是一片连续的储存单元,所以也是支持随机访问的。在C语言中分为静态数组和动态数组,我们常见的定义形式(如下)都是静态数组,下面这一行代码即实现了数组的定义与初始化。可以看到静态数组的大小是固定的,在声明的时候需要声明数组的长度。但是初始化是不必要的,但是建议做初始化操作。在数组声明的位置中决定了数组是存放在堆区还是栈区,函数内部声明则是在栈区,且系统栈的大小Windows系统为2MB, Linux系统为8MB。所以当数组过大时不建议在函数内部中定义。

weixin_46640900的博客 775

从密码学到算法竞赛:深入理解素数筛法(C语言实现欧拉筛核心细节剖析)

本文深入探讨了素数筛法在密码学和算法竞赛中的关键作用,重点解析了欧拉筛法的C语言实现及其核心细节。通过对比暴力法、埃氏筛和欧拉筛的性能差异,展示了欧拉筛在时间复杂度上的显著优势(O(n)),并提供了实际应用中的优化技巧和注意事项。文章还介绍了素数在RSA加密等现代密码学中的重要应用,是理解高效素数生成算法的实用指南。

weixin_30919429的博客 1028

[Hello World] 素数筛C语言实现及优化

素数筛C语言实现及优化 一、概念 素数:质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。 素数筛:用素数标记合数(素数的整数倍都是合数),剩下的就是素数。 二、原理 规则:素数的整数倍都是合数,素数标记为0,合数标记为1。 步骤: 将所有数标记为0(可以理解为,将所有数放在一个筛子里)。 根据素数的整数倍都是合数原则,从第一个素数2开始,将素数的整数倍都标记为1(理解为,将合数筛掉,剩下素数)。 三、代码 1. 根据素数筛原理编写初步代码 #include <stdio.

淋曦的进击手记 736

筛素数法

void Sieve() { for(int i = 0; i <= MAX_N; i++){ is_Prime[i] = 1; } is_Prime[0] = is_Prime[1] = 0; for(int i = 2; i <= MAX_N; i++){ if(is_Prime[i]){ for(int

ljf_study的博客 271

C语言题目:一、排序算法现在在附件一中给出算法“快速排序”的残缺模板,请参考网上的快速排序算法讲解补全该程序,要求实现将乱序数列按降序、升序排列后分别输出。样例输入:108 3 5 6 7

现在在附件一中给出算法“快速排序”的残缺模板,请参考网上的快速排序算法讲解补全该程序,要求实现将乱序数列按降序、升序排列后分别输出。4、使用快速排序算法思想(或者任意一种综合性能与快速排序算法相似的算法),实现长度为N的数列升序或降序排列——10分。现在在附件三给出了算法“欧拉素数筛”的充满BUG的模板,请参考网上的欧拉素数筛算法讲解修改该程序,实现附件。5、补全残缺模板,实现长度为N的数列升序和降序排列——10分。2、调用函数实现长度为N的数列升序和降序排列——5分。样例输入输出可以自行在附件二中试验。

laocooon的博客 301

用一个很屌的算法得到素数表!

算法

Liu_Yuchen_的博客 160

poj 3006 Dirichlet's Theorem on Arithmetic Progressions 【素数筛】

说实话,题目很长,但是和真正要思考的东西关系不大。。。 就用了之前的素数筛的模板,控制了一下输入、输出格式就过了,很水的题,没什么技术含量,我好像也只会用暴搜。。。 #include #define MAXN 1000002 int prime[MAXN]; //用筛法求素数,1代表不是素数(被筛掉) int main() { //先打出素数表 prime[0]=pr

This is bill的专属博客 1304

Eratosthenes 筛选法 c语言 数组+指针实现

#include#include#define SIZE 1000#define TRUE 1#define FALSE 0int main(){    char sieve[ SIZE ];    char *sp;    int number;    /*     Set the entire sieve to TRUE     */    for( sp = sieve; sp     

syl8225985的专栏 572

筛法求素数c 语言,位筛法求素数,有段代码看不懂,有大佬可以来说一下

该楼层疑似违规已被系统折叠隐藏此楼查看此楼就是BITArray[ (i -3)/ CHAR_BIT ]其中i从0开始,那下标不就为负了?而指向的又是哪个数据?下面是完整代码。#include #include #include #include #include #include#include int main( ){unsigned char *BITArray;long maxsize;l...

weixin_42395776的博客 91

bjfu1012 素数

素数 时间限制(C/C++):5000MS/10000MS          运行内存限制:65536KByte 总提交:1131            测试通过:207 描述 数论是ACM中用途很广的数学分支,而数论里研究得最多的问题,又都和素数相关,所以有人戏称数论为“素论”,也是不无道理的。 输入 输入首先包含一个整数T,表示测试数据组数,T不超过100。然后是T组测试数

桑安琪的成长之路 372
下一篇: 线性筛算法实现-C语言
霍传飞
博客等级 码龄11年 15粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值