基础数论的一些名词和定理 [未完]

欧几里得算法

欧几里得算法用来快速求解两个数的最大公约数。

整除性

\(a|b\)表示\(a\)整除\(b\),即\(b\)是\(a\)的倍数。

定理1:设\(a,b,c\)为整数,若\(a|b, a|c\),则\(a|(b+c)\)成立

证明: 设\(b = sa,  c = ta(s,t为整数)\),则\(b+c = sa + ta = a(s+t)\),故\(a | (b+c)\)

最大公约数

\(gcd(a, b)\)表示\(a,b\)的最大公约数。

最暴力的求解最大公约数的方法是枚举\(a,b\)的所有公约数,并取相同的最大的公约数。但很明显太浪费时间了。

欧几里得是怎么做的?

要求解\(gcd(a,b)\),通过不断求解$ gcd(b, a  \% b) $直到$ a \% b = 0 $时,取\(b\)作为答案。

代码实现:

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

注意为什么不用判断\(a\)和\(b\)的大小?因为当\(a < b\)时$ a \% b $ == \(a\)

$ S(n,k)= \sum\limits_{i=0}^kC_{n/p}^{i/p}*C_{n \%p}^{i \%p}\ mod\ p $

原文地址:https://www.cnblogs.com/qixingzhi/p/9312928.html

时间: 2024-11-05 22:34:00

基础数论的一些名词和定理 [未完]的相关文章

Python学习笔记——基础篇【第一周】(未完待续)

学习Python目的: 1.学完之后,可以做开发运维监控.自动化软件.聊天软件.BBS.博客和网站. 2.投资自己,结识更多的朋友,变更更优秀的人 Python第一周笔记 Python语言介绍 python创始人Guido,荷兰人,Python源自他所挚爱的电视剧Monty Python's Flying Circus.Python编译器使用C语言实现,能够调用C语言库文件.1991年初,Python发布了第一个公开发行版. Python版本: Python1.0   1994年 python2

LightOJ1214 Large Division 基础数论+同余定理

Given two integers, a and b, you should check whether a is divisible by b or not. We know that an integer a is divisible by an integer b if and only if there exists an integer c such that a = b * c. Input Input starts with an integer T (≤ 525), denot

基础数论

就先从辗转相除法学起 int gcd(int a,int b) { if(a%b==0) return b; else gcd(b,a%b); } 证明: 另gcd(a,b)=d; a=k1*d   b=k2*d; a=p1*b+r1; (k1-k2*p1)d = r1;  ---->d也可以整除r1------>gcd(a,b)既可以整除b又可以整除r1(a%b)------>gcd(a,b)<=gcd(b,r1); gcd(b,r1)=d; 同理可证得gcd(a,b)>=

数论初步(费马小定理) - Happy 2004

Description Consider a positive integer X,and let S be the sum of all positive integer divisors of 2004^X. Your job is to determine S modulo 29 (the rest of the division of S by 29). Take X = 1 for an example. The positive integer divisors of 2004^1

【蓝鸥Unity开发基础三】课时3 Terrain地形系统【未完】

[蓝鸥Unity开发基础三]课时3  Terrain地形系统[未完] 推荐视频讲师博客:http://11165165.blog.51cto.com/ 一.Terrain地形系统 Terrain地形系统 资源包的导入 场景漫游 立方体是:长宽高1m 二.Terrain地形系统 1.Terrain组件:提升地形/沉降地形工具 点击左键-- 提升地形 点击左键+Shift--沉降地形 选择笔刷的形状.笔刷的大小,笔刷的硬度--绘制地形 2.Terrain:平坦地形工具:设置地形目标高度 平滑地形工具

HDU-1576 A/B 基础数论+解题报告

HDU-1576 A/B 基础数论+解题报告 题意 求(A/B)%9973,但由于A很大,我们只给出n(n=A%9973) (我们给定的A必能被B整除,且gcd(B,9973) = 1). 输入 数据的第一行是一个T,表示有T组数据. 每组数据有两个数n(0 <= n < 9973)和B(1 <= B <= 10^9). 输出 对应每组数据输出(A/B)%9973. 解题思路 看到这里就能想到这个题是有关数论的了吧. 下面是对题目给的公式进行一些变形 设p=9973,令(C就是我们

ASP.NET Core 2.2 基础知识(八) 主机 (未完待续)

主机负责应用程序启动和生存期管理.共有两个主机 API : 1.Web 主机 : 适用于托管 Web 应用,基于 IWebHostBuilder ; 2.通用主机 : 适用于托管非 Web 应用. 基于 HostBuilder . 官方: 通用主机的目标是将 HTTP 管道从 Web 主机 API 中分离出来,从而启用更多的主机方案. 基于通用主机的消息.后台任务和其他非 HTTP 工作负载可从横切功能(如配置.依赖关系注入 [DI] 和日志记录)中受益 通用主机是 ASP.NET Core 2

细菌觅食优化算法:理论基础,分析,以及应用(未完)

原作者:Swagatam Das,Arijit Biswas,Sambarta Dasgupta,和Ajith Abraham  [摘 要]细菌觅食优化算法(Bacterial foraging optimization algorithm[BFOA])已经被分布式优化和控制的同行们当作一种全局性的优化算法接受.BFOA是由大肠杆菌的群体觅食行为所启发而总结出来 的.BFOA已经吸引了足够多的研究者的注意,由于它出现在解决真实世界中一些应用领域上优化问题的高效性.E.coli 的群体策略的生物基

C++语言体系设计哲学的一些随想(未完待续)

对于静态类型语言,其本质目标在于恰当地操作数据,得到期望的值.具体而言,需要: (1)定义数据类型 你定义的数据是什么,是整形还是浮点还是字符.该类型的数据可以包含的值的范围是什么. (2)定义操作的含义 操作是严格数据类型相关的.操作表明了对了一个具有特定类型的数据,执行操作后产生什么样结果. =========================================== C++就是一个典型的静态类型语言.在C++中,无论是"数据类型"还是"操作",都分为