首页 > 其他分享 >基础数论

基础数论

时间:2023-12-22 13:12:09浏览次数:30  
标签:约数 gcd 数论 质数 基础 int quad Rightarrow

目录

质数

质因数分解

算术基本定理:
\(任何一个大于1的正整数都能唯一分解为有限个质数的乘积,可以写作:\)

\[N=p_1^{c_1}p_2^{c_2}...p_m^{c_m} \]

\(其中c_i都是正整数,p_i都是质数,且满足p_1<p_2<...<p_m\)

int primes[N], cnt[N], m;
void divide(int n)
{
	rep(i,2,n/i)
	{
		if(n%i==0)	primes[++m]=i;
		while(n%i==0)
		{
			n/=i;
			cnt[m]++;
		}
	}
	if(n>1)	
	{
		primes[++m]=n;
		cnt[m]=1;
	}
}

哪个if是不是多余?
并不是的之前我感觉那个if是多余的,直接用map去存可以省掉哪个if但是用map去存复杂度就变成了\(O(logn)\)

约数

\(gcd\)求最大公约数

\(gcd求最大公约数主要用到一个定理\)

\[gcd(a,b)=gcd(b,a\%b) \]

下面证明该定理:
首先需要引入一些数论中用于证明的基本知识:
\(1. d|a且d>=0:\quad d是a的约数\)
\(2. 除法定理:对于任何整数a和任何整数,存在唯一整数r和q,满足0<=r<n\)
\(\quad \quad \quad \quad \quad a=qn+r\)
\(\quad \quad \quad \quad \quad q为商q=\lceil \dfrac an \rceil \qquad r为余数,r=a \quad mod \quad n\)
\(\quad \quad \quad \quad \quad n|a当且仅当r=a \quad mod \quad n=0\)
\(3. d|a并且d|y\Rightarrow d|(ax+by)并且d|gcd(a,b),因为gcd(a,b)是最大的约数\)
证明:
如果能证明\(gcd(a,b)|gcd(b,a\%b)并且gcd(b,a\%b)|gcd(a,b)\)
\(那么gcd(a,b)=gcd(b,a\%b)\)
\(令q=gcd(a,b), p=gcd(b,a\%b)\)
\(q=gcd(a,b) \Rightarrow q|a且q|b \Rightarrow q|(ax+by)\)
\(a\%b=a-kb \Rightarrow gcd(b,a\%b)=gcd(b,a-kb) \Rightarrow q|gcd(b,a\%b)\)
\(gcd(a,b)|gcd(b,a\%b)得证\)
\(下面只需要证明gcd(b,a\%b)|gcd(a,b)即可\)
\(p|(xb+y(a-kb)) \Rightarrow p|(ay+(x-k)b) \Rightarrow p|a并且p|b\)
\(p|a并且p|b \Rightarrow p|gcd(a,b) \Rightarrow gcd(b,a\%b)|gcd(a,b)\)

\[至此gcd(a,b)=gcd(b,a\%b) 得证 \]

int gcd(int a, int b)
{
	return b?gcd(b,a%b):a;
}

未完待续......

标签:约数,gcd,数论,质数,基础,int,quad,Rightarrow
From: https://www.cnblogs.com/cxy8/p/17921355.html

相关文章

  • matlab图像基础知识
    1.MATLAB支持的几种图像文件格式:⑴JPEG(JointPhotogyaphicExpeytsGroup):一种称为联合图像专家组的图像压缩格式。⑵BMP(WindowsBitmap):有1位、4位、8位、24位非压缩图像,8位RLE(RunlengthEncoded)的图像。文件内容包括文件头(一个BITMAPFILEHEADER数据结构)、位图信息数据块(位图信......
  • 【scikit-learn基础】--『预处理』之 缺失值处理
    数据的预处理是数据分析,或者机器学习训练前的重要步骤。通过数据预处理,可以提高数据质量,处理数据的缺失值、异常值和重复值等问题,增加数据的准确性和可靠性整合不同数据,数据的来源和结构可能多种多样,分析和训练前要整合成一个数据集提高数据性能,对数据的值进行变换,规约等(比如......
  • 高山不语,静水流深:源启基础运行支撑平台在支撑着什么?
    导语2022年,金融级数字底座“源启”应运而生,历经一年疾速演进,已在金融、能源、制造等行业和多家央企集团的百余项重大工程中得以应用。随着中国电子计算体系重构工作的开展,源启作为对下调用管理泛在软硬件设施和资源,对上支撑各类行业数字化应用、数据产品和人工智能模型的数字基础设......
  • 高山不语,静水流深:源启基础运行支撑平台在支撑着什么?
    导语 2022年,金融级数字底座“源启”应运而生,历经一年疾速演进,已在金融、能源、制造等行业和多家央企集团的百余项重大工程中得以应用。 随着中国电子计算体系重构工作的开展,源启作为对下调用管理泛在软硬件设施和资源,对上支撑各类行业数字化应用、数据产品和人工智能模型的......
  • 3D 纹理贴图基础知识
    在线工具推荐:3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.jsAI自动纹理开发包 - YOLO虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎介绍纹理贴图是创建模型时离不开的最后一块拼图。同样,如果没有纹理贴图的多样......
  • C++基础 -11- 类的构造函数
     ———————类的构造函数——————— ......
  • bash基础使用
    小例子参考if语句a=10b=20if[$a==$b];then echo"a==b"elif[$a-lt$b]then echo"a<b"else echo'a可能>b'fi变量声明使用两种方式来声明变量#1exporta=10#2a=10上面使用exporta=10的时候,可以将这个变量暴露给其他的应用来使用,如......
  • 【SpringBootWeb入门-17】Mybatis-基础操作-动态SQL
    1、章节回顾上一篇文章我们讲解完了Mybatis基础操作,本篇继续学习Mybatis中非常重要的功能:动态SQL。什么是动态SQL:随着用户的输入或外部条件的变化而变化的SQL语句,我们称为动态SQL。简单说SQL语句不是固定的,是动态变化的。就拿我们上一篇所提到的根据条件来查询员工的SQL语句来......
  • 第四方支付系统(集成wxpay、alipay)_ LayUI基础
    23以蜡笔小新为开头写一篇藏头诗蜡月寒风正刺骨,笔耕不辍夜已深。小径穿行千百度,新春又至岁华新。暗恋一个人不敢表白怎么办暗恋一个人不敢表白是一个常见的问题,以下是一些建议来帮助你克服这种困境:了解自己:首先,你需要了解自己的情感和动机。思考一下你对这......
  • Java基础面试题
    我分析了上百份大中小厂的面经,整理了Java面试中最最最常问的一些问题!小伙伴们可以对照着网站里面的文章学习或者准备面试。网站的内容会继续完善,欢迎你在评论区说出你遇到的高频面试题!林老师带你学编程(「Java学习+面试指南」是一份涵盖大部分Java程序员所需要掌握的核心知识......