数论
文章平均质量分 92
数论专题
Androids_lost_Sheep
苟有恒,何必三更眠五更起。最无益,莫过一日曝十日寒。
展开
-
欧几里得算法和扩展欧几里得算法
文章目录摘要欧几里得算法扩展欧几里得算法最小正整数解摘要本文主要讲解欧几里得算法和扩展欧几里得算法。欧几里得算法欧几里得算法就是辗转相除法,用于求两个数的最大公约数。设gcd(a,b)gcd(a, b)gcd(a,b) 表示a和b的最大公约数。辗转相除法的核心就是gcd(a,b)=gcd(b,a%b)gcd(a, b) = gcd(b, a\%b)gcd(a,b)=gcd(b,a%b)...原创 2020-03-09 23:29:46 · 4641 阅读 · 2 评论 -
快速幂
文章目录摘要引言求nkn^knk快速幂超级详细的基础算法和数据结构合集:https://blog.csdn.net/GD_ONE/article/details/104061907摘要本文主要介绍快速幂算法,快速幂虽然代码简单,但是往往会与其他算法相结合,很重要。引言当我们计算 nkn^knk时,常用的做法是对nnn连乘kkk次, 但如果kkk特别大,假如k=1e6k = 1e6k=1...原创 2020-03-06 19:42:48 · 3391 阅读 · 7 评论 -
素数筛法详解:埃氏筛和欧拉筛
文章目录摘要欧拉筛摘要本文主要介绍欧拉筛和欧拉函数。欧拉筛上一篇博客讲过了如何判断一个数是否是质数,那么现在要在1s内求出区间[1,1e7][1,1e7][1,1e7]内的所有质数,你会怎么做,如果对每个数都判断其是不是质数,时间复杂度是O(n∗n)O(n*\sqrt{n})O(n∗n),数据量是1e71e71e7,这样做肯定会超时的。这就需要用到下面讲的欧拉筛法了, 欧拉筛法的时间复杂...原创 2020-03-05 15:47:41 · 19827 阅读 · 9 评论 -
判断质数和用算数基本定理分解质因数
文章目录摘要质数判断一个数是否是质数分解质因数超级详细的基础算法和数据结构合集:https://blog.csdn.net/GD_ONE/article/details/104061907摘要本文主要讲解如何判断一个数是质数,和如何对一个数分解质因数。本文是很基础的也很重要的数学知识。质数质数又称为素数,是指大于1的并且除了1和它本身外,没有其他因数的自然数。判断一个数是否是质数假...原创 2020-02-29 20:13:06 · 6002 阅读 · 2 评论 -
欧拉函数的应用-RSA加密算法
若p和q互质,令n = p*q 则ola(n) = (p-1)*(q-1)我们知道p和q的值能轻易知道(p-1)*(q-1)的值也就是ola函数的值,但是仅仅知道n是多少,却非常难得到p和q是多少,因为当n很大时,例如有几百位时,它就有非常多的质因数,要暴力穷举很长时间。所以这就保证了RSA加密算法的可靠性。RSA加密是非对称加密,密钥 由公钥和私钥组成。公式为:(明文)^e % ...原创 2019-12-09 20:42:02 · 2574 阅读 · 0 评论 -
扩展欧几里德算法详解 以及模线性方程最小整数解 例: POJ -1061青蛙的约会
要彻底理解扩展欧几里德算法(递归实现)需要知道以下几个知识点: 欧几里德算法的原理 递归的回溯 贝祖等式 1.欧几里得算法的证明: 欧几里德算法是用来求两个数的最大公因数,其根本思想是gcd(a,b) = gcd(b,a%b),文字表达就是 a 和 b 的最大公因数 等于 b 和 a%b 的最大公因数相等,这样我们就可以递归求解到当a%b==0时,那么最大...原创 2019-07-25 16:56:40 · 735 阅读 · 0 评论