数论
丁磊_Ml
业精于勤,荒于嬉;行成于思,毁于随。
展开
-
求最大公约数:欧几里德算法(即 辗转相除法 )
定理:两个整数的最大公约数等于其中较小的那个数和两数相除余数的最大公约数。证明: a可以表示成a = kb + r(a,b,k,r皆为正整数,且r<br<b),则r = a mod b 假设d是a,b的一个公约数,记作d|a,d|b,即a和b都可以被d整除。 而r=a−kbr = a - kb,两边同时除以d,r/d=r∗(1/d)=(a−kb)∗(1/d)=a/d−kb/d=m r/d=r*原创 2017-03-24 21:11:45 · 1084 阅读 · 0 评论 -
蓝桥杯:最小公倍数
根据A,B的最大公约数,来求A,B的最小公倍数 假设A,B的最大公约数为a 则有A=a*b ; B=a*c 则A,B的最小公倍数为b*c*a=A*B/a 就两个数的最小公倍数,就等于 二者的乘积再除以他们的最大公约数关于如何求最大公约数,见 http://blog.csdn.net/mosbest/article/details/65653124#include<stdio.h>voi原创 2017-03-24 21:31:39 · 605 阅读 · 0 评论 -
二分幂,快速幂,矩阵快速幂,快速乘
前言二分幂,快速幂,矩阵快速幂在算大指数次方时是很高效的。求 a^n 的值是多少?n是1到10^18次方的一个整数。 求一个数的n次方,朴素的算法就是直接for循环,一遍一遍的乘,a*a*a*a*a*a… …,O(N)的复杂度。此时,如果n很小的话,并没有什么影响。 但是当n非常大,n=10^18,O(N)也会超时,那么需要更快的算法,二分幂算法 和 快速幂算法。 而对原创 2017-04-05 18:52:09 · 9093 阅读 · 5 评论