0120数论小结

微机原理——第六章 程序与处理器控制指令 6.1 关于程序控制类指令说明 6.2 无条件转移指令 6.3 条件转移指令 6.4 循环控制指令 6.5 过程调用指令 6.6 中断指令 6.7 处理器控制指令 6.8 指令系统小结 阅读详情

PART 1 素数筛

埃氏筛

逆用试除法 —— 用素数排除合数

没什么好说的

//埃氏筛
void Eratosthenes() {
	vis[0] = vis[1] = false; //提前处理好1与0 合数标记为false,素数标记为true
	for (int i = 2; i <= sqrt(n); i++) { 
		if (vis[i] == true) { // i 为 素数
			for (int j = i * i; j <= n; j += i) { //标记i^2 ~ n 中所有素数i的倍数
				vis[j] = false;
			}
		}
	}
} 

例题:找质数2、【竞速赛Round3】How many primes?等

应用场景较广,适用大部分题。

时间复杂度:O(nlogn)

Tips: 注意题目N的范围, 若多组样例,思考是否预处理。

欧拉筛(线性筛)

每次筛掉部分素数倍数,而非一次性筛完所有倍数

有说的但我不是很会

void ols() {
	int cnt = 0;
	for (int i = 2; i <= n; i++) {
		if (vis[i] == true) prime[++cnt] = i;
		for (int j = 1; j <= cnt && i * prime[j] <= n; j++) { // 避免超出范围
			prime[i * prime[j]] = false; //只筛除一部分
			if (i % prime[j] == 0) break;
		}
	}
}

速度较快,适用几乎所有题

时间复杂度:O(n)

PART 2 同余方程

//同余方程
int exgcd (int a, int b, int &x, int &y) {
	if (b == 0) {
		x = 1;
		y = 0;
		return a;
	} else {
		int d = exgcd (b, a % b, y, x); //辗转相除
		y -= a / b * x;
		return d;
	}
}

题目通常为数学问题,会直接点出“同余”

例题:【NOIP2012 day2】同余方程、青蛙的约会

PART 3 欧拉函数

通式:fai(x) = x * ( 1 - 1 / p1) * (1 - 1 / p2)……* (1 - 1 / pn)

p1,p2,p3……pn为x的所有质因数

法1:基于素因数分解求欧拉函数

int euler (int x) { //基于整数分解定理
	int ans = x;
	int a = x;
	for (int i = 2; i <= sqrt(a); i++) {
		if (a % i == 0) ans -= ans / i;
		while (a % i == 0) a /= i; //除尽质因子i
	}
	if (a > 1) ans -= ans / a; //防止a为质数
	return ans;
}

• 时间复杂度为O(sqrt(n))

Tips:只能求出一个数

法2:埃氏筛(打表)

void euler(int n) {
	for (int i = 1; i <= n; i++) phi[i] = i;
	for (int i = 2; i <= n; i++) {
		if (phi[i] == i) {
			for (int j = i; j <= n; j += i) {
				phi[j] = phi[j] / i * (i - 1);
			}
		}
	}
}

可以求出1~n中所有的fai(i)

补充:快慢乘

//快慢乘
int quick (int a, int b, int mod) {
	int ans = 0;
	while (b) {
		if (b & 1) ans = (ans + a) % mod;
		a = (a << 1) % mod;
		b >>= 1;
	}
	return ans;
}
int slow (int a, int b, int mod) {
	int ans = 0;
	while (b > 0) {
		if (b & 1) ans = (ans + a) % mod;
		b >>= 1;
		a = (a + a) % mod;
	}
	return ans;
}
int mod (int a, int b, int mod) {
	int sum = 1;
	while (b > 0) {
		if (b & 1) sum = slow(sum, a, mod);
		a = slow(a, a, mod);
		b >>= 1;
	}
	return sum;
} 

MATLAB基础教程(10)——二维中的数据可视化 MATLAB数据可视化 学会了使用plot绘制一个向量 学会了使用plot绘制一个函数图像 学会了使用plot绘制一个矩阵的折线图 学会了绘制多个函数在同一个图像中 懂得了x 和函数 f 的实质内容 学会了定制绘图的曲线样式。 阅读详情

相关推荐

Dify本地安装部署-docker安装配置

通过docker来安装dify步骤比较简单,要注意的是拉取docker镜像时的镜像地址的配置。镜像源配置不好,会导致镜像拉取不下来。

zg_hover的专栏 1万+

CTF--Misc题型小结

(萌新笔记,多多关照,不足之处请及时提出。不定时更新~

金灰的博客 3442

addition过程 sgnb_NSA加密配置传递过程

Happy weekend !!本文主题有关NSA架构中的加密机制种的加密算法传递部分,NSA的架构和基本流程本号前面有几篇文章描述过,大家可以先参考一下。5G RAN options及NSA部分相关流程5G RAN组网方案总结--关于NSA/SA各个option的说明5G NR Split Bearer4G5G PDCP层极简对比本文是针对EN-DC中3X模式下的加密传导及实施过程作一下小结。首...

weixin_35009071的博客 1530

Hbase 命令小结

1、创建test,如果存在先删除 hbase(main):010:0> disable 'test' 0 row(s) in 1.4250 seconds hbase(main):011:0> drop 'test' 0 row(s) in 0.5540 seconds hbase(main):012:0> create 'test','grade...

aijia7039的博客 116

【Flink】kafka Response from server for which there are no in-flight requests NETWORK_EXCEPTION

1.场景1 1.1 概述 这是一个流任务,然后流任务中有几个pipline kafka topicA -> 转换 -> es kafka topicB -> 转换 -> kafka -> es kafka topicA -> 转换 -> -> kafka 第三条流加上去就会报错,OOM,然后去掉就不会报错。 错误信息有如下 1.2 错误1 2021-09-22 12:31:12,136 WARN org.apache

九师兄 431

Windows游戏多开检测实战:5种技术原理与破解方法详解(附C++代码)

本文深入解析了Windows游戏多开检测的5种核心技术原理,包括进程枚举、互斥体、信号量、窗口及文件映射检测,并详细探讨了对应的破解方法。通过分析这些基于进程和内核对象的攻防机制,为开发者与逆向爱好者提供了从底层理解Windows系统进程管理的实战视角,并附有核心C++代码示例。

weixin_29315091的博客 243

前端面试问题小结

前端面试问题小结 已有 622 次阅读2014-10-15 01:20 |系统分类:HTML/CSS| 前端面试问题 给前端面试者准备的一点问题,自己总结的,供前端面试者参考(大牛可略过),面试过很多家,也面试过一些人,答案自己找~~ meta头可以设置哪些内容,格式是怎样的,列举3个以上 http请求头,响应头有哪些字段,列举5个以上;http的响应状态消息有哪些值,列举

进击的WEB前端-小黄毛 610

C#通过Aforge调用电脑摄像头(附代码)

C#标准库本身不带有能调用电脑摄像头的库,如果利用windows自身的API来实现的话,着实有些麻烦。Aforge这个第三方库能很好的实现调用、处理的功能。 PS:文末给大家分享了完整的项目源码,各位最好先下载下来,对照着来看 1、先看一下效果 2、Aforge介绍 AForge.NET是一个专门为开发者和研究者基于C#框架设计的,这个框架提供了不同的类库和关于类库的资源,还有很多应用程序例子,包括计算机视觉与人工智能,图像处理,神经网络,遗传算法,机器学习,机器人等领域。 3、我使用的开发环境 操作系统

weixin_44996090的博客 1万+

1. R语言运行效率分析_小结(1)

小结(1) 上述9种方法(10个月份)转换“月和季的英文名称”所花时间结果整理如下: type fun mean 1 Month for_if 3.252180e-01 2 Month for_if_else 3.054237e-01 3 Month for_ifelse 5.160331e-01 4...

fan_xiao_hui的博客 378

病理WSI配准库valis教程

病理WSI配准库valis教程

azrealq的博客 2598

智能车竞赛新手必看:用AD21从零画一块英飞凌TC264核心板(附开源PCB文件)

本文详细介绍了使用Altium Designer 21(AD21)从零开始设计英飞凌TC264核心板的完整流程,涵盖原理图绘制、PCB布线到最终DRC检查的全过程。针对智能车竞赛新手,提供了实用的硬件设计技巧和开源PCB文件,帮助快速掌握TC264核心板开发。

weixin_27017211的博客 246

json in javascript 学习小结

1.   javascript的json版本目前有两个          链接1  http://www.json.org/json.js          链接2 http://www.json.org/json2.js   2.   首先都需要引入       &lt;script type="text/javascript" src="js/json/json版本.js"&...

iteye_343的博客 166

深入NAND Flash信号与接口:结合ONFI 5.0协议,聊聊DBI、ODT和差分信号到底在解决什么实际问题

本文深入探讨了NAND Flash信号与接口设计,结合ONFI 5.0协议,详细解析了DBI、ODT和差分信号等技术如何解决高速数据传输中的信号完整性问题。通过实际案例和数据,展示了这些技术在降低功耗、减少噪声和提升抗干扰能力方面的显著效果,为存储工程师提供了宝贵的实践参考。

weixin_33736649的博客 343

linux r语言怎么运行时间函数,1. R语言运行效率分析_小结(1)

小结(1)上述9种方法(10个月份)转换“月和季的英文名称”所花时间结果整理如下:type fun mean1 Month for_if 3.252180e-012 Month for_if_else 3.054237e-013 Month for_ifelse 5.160331e-014 Month ...

weixin_35651070的博客 163

SAP UI5 主题设置全解析:从启动参数到运行时切换、跨域白名单与事件监听

SAP UI5主题体系深度解析:从配置到切换的完整指南 摘要:SAP UI5主题机制远不止CSS换肤,其工程化实践涵盖启动配置、运行时API切换、跨库路径映射及安全管控等关键环节。通过bootstrap标签或URL参数设置初始主题,运行时可用Theming.setTheme无刷新切换。自定义主题需配置theme-roots路径,跨域加载需声明sap-allowed-theme-origins白名单。主题切换完成后会触发applied事件,适合执行视觉同步操作。该体系支持多品牌适配、集中式主题管理,在Fior

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 326

简要介绍 | 两阶段点云目标检测:理论与实践

目标检测是计算机视觉中的一个重要任务,其目的是识别和定位图像中的物体。对于二维图像,这已经有许多有效的方法。然而,对于三维数据(如由LiDAR生成的点云数据),目标检测则更为复杂。

NLOS的博客 1306

7. 【可编程定时器8253】:外部引脚、内部结构特点、计数启动方式、6种工作方式、控制字格式、应用

文章目录计数与定时8253芯片特点1. 外部引脚2. 内部结构特点(含3个计数器、1个控制寄存器)2. 计数启动方式(软件启动、硬件启动的定义)3. 6种工作方式不能自动重复计数的工作方式方式0:软件启动,不自动重复计数,计数结束输出高电平。方式1:硬件启动,不自动重复计数,计数开始输出低电平,结束后又变高。方式4:软件启动,不自动重复计数,计数结束输出一个CLK宽度的低电平。方式5:硬件启动,不自动重复计数,波形与方式4相同。能自动重复计数的工作方式(能输出连续波形)方式2:软、硬件启动,自动重复计数。计

你说的白是什么白_ 1万+

全网详细解决:无法将 “xxx” 项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次

全网详细解决:无法将 “xxx” 项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。

念兮为美 5万+

obd-java-api进阶:CommandAvailabilityHelper位运算解析PID可用性,你的车支持哪些数据

obd-java-api 是一款对接 OBD-II 诊断协议、兼容 ELM327 适配器的 Java 库。本篇进阶教程带你用位运算读懂 [CommandAvailabilityHelper](https://link.gitcode.com/i/0fb110498c1a18ab3fd2314236d541e5),几分钟搞清楚你的车到底支持哪些 PID 数据,避免"查一个不存在的接口"这种尴尬。

gitblog_00698的博客 470

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

2-ruby 基本数据类型

核心概念:Ruby中万物皆对象,没有真正的基本数据类型,所有值都是类的实例对象分类:数字、文本、范围、符号、布尔值和nil,还有两种重要的数据结构——Array和Hash下面进入 irb 交互模式来逐个演示。

DevOps海洋的渔夫@专栏 915

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

j计算机硬件,[计算机硬件及网络]汇编第5章j.ppt

[计算机硬件及网络]汇编第5章jIBM-PC汇编语言程序设计 第五章 基本控制结构 讲授要点 5.1 字符与字符串的输入/输出方法 5.1 字符与字符串的输入/输出方法 Fact proc far push bx cmp ax , 0 jnz fact1 mov ...

weixin_39676930的博客 120

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

今日作息及食谱(7.2)

6:20~6:40 起床,洗漱,早餐 6:40~7:20 准备一个材料,有点仓促,做事要有yuliang

frontend的专栏 488

基于PID、H_2和H_∞控制器的车辆横向动力学非线性MIMO-PID神经控制器设计(Matlab代码实现)

文献来源:自动驾驶汽车的横向控制。研究了设计的PID、H2和H∞控制器以及设计中的权衡,以实现实时实现。

qq_46009436的博客 964
上一篇: C++小游戏 五子棋
ny_Ann
博客等级 码龄3年 181粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值