数学
文章平均质量分 52
x1angyu
这个作者很懒,什么都没留下…
展开
-
求一个数的原根并求其欧拉函数的所有质因数
题目背景:已知一个素数p,我们需要求它的原根,因此需要对它的欧拉函数p-1进行分解质因数。代码:def fjzys(p,listg): """ 质因数分解分两种情况: 1、因数都小于等于根号n,只需要从2到根号n之间找质因数 2、有比根号n大的质因数且必定只有一个,那么我们仍然只需要从2到根号n之间找质因数,最后剩下的就是那么大于根号n的质因数 综上我们只需要从2到根号n之间找质因数即可。 """ listy=[] n = p-1 #n的欧拉函数 m=int(math.sqrt(n)原创 2020-12-15 18:30:09 · 340 阅读 · 0 评论 -
中国剩余定理的原理
一、我们先来讲两个数学定理:①a%b=c,则有(a+k∗b)%b=c②如果a%b=c,那么(a∗k)%b=a%b+a%b+…+a%b=c+c+…+c=k∗c(k>0)二、我们设n1除以3余2,n2除以5余3,n3除以7余2。我们先从n1这个角度出发,已知n1满足除以3余2,能不能使得n1+n2的和仍然满足除以3余2?进而使得n1+n2+n3的和仍然满足除以3余2?由定理①,我们可以做到。如果n2是3的倍数,n1+n2就依然满足除以3余2,n3也是3的倍数,那么n1+n2+n3的和就满足除以原创 2020-12-10 11:08:10 · 817 阅读 · 0 评论 -
模指数运算浅析
模指数运算是我们悲惨求学人在学习数理基础时需要用到的一种实用的运算方法,那么下面就让我来深入分析公式来理解其原理。example:3^11(mod 4)我们都知道十进制的11可以转换成二进制的1011。那么这时候问题来了,老师又告诉我们依据不同的情况这个二进制的数我们可以从前往后或者从后往前来计算,这是为什么呢?下面我们来简单分析一下:一、从后往前计算这时候3^1011^=(1x3^1^)*(1x3^2^)(0x3^4^)(1x3^8^)后面四项不带系数依次记为 b1、b2、b3、b4这就和我们原创 2020-11-13 08:16:33 · 3248 阅读 · 1 评论 -
扩展欧几里得算法代码解析
请不了解扩展欧几里得算法的同学们提前翻阅书本或自行百度了解。有两个数a,b,对它们进行辗转相除法,可得它们的最大公约数——这是众所周知的。那么从书本上得知我们从后往前去替代余数,那么最后得到的gcd(a,m)=1=xa+ym中的系数x就是我们想要的a-1mod m(这里我们都默认a有逆,即a,m互素)。为什么这么说呢?aa-1=1(mod m),那么aa-1-1=km,即a-1a+(-k)m=1,这里的a-1和-k就是我们所说的x、y。那么我们收集辗转相除法中产生的式子,倒回去最后的结果就是xa+ym=原创 2020-11-14 01:06:00 · 445 阅读 · 0 评论