随笔分类 - 数论
摘要:链接:http://poj.org/problem?id=1222这题是说有5*6个开关,0处于关闭状态,1处于开启状态,每按一个开关,周围的上下左右方向的开关会跟着翻转,而且题目中给了提示,任何一个开关,按偶数次和不按的作用是一样的,所以每个开关最多转换一次,问的是如何转换能达到全部都为关闭状态。我们可以知道,任意一个位置的开关由自己和周围的开关共同决定,那么可以对每一个开关建立一个方程,这样就有30个方程,30个未知数,一定有解,利用高斯消元加位运算可以解出每个未知数。View Code 1 #include<iostream> 2 #include<cstring>
阅读全文
摘要:链接:http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=1353这道题是给一个数n要找出以n为最小公倍数的数对个数比如(3,4)的最小公倍数为12那(3,4)就算其中的一对,而对于(a,b)如果a!=b则(a,b)与(b,a)也算是不同的一对。这道题是一道数论题,要求能明白lcm(a,b)*gcd(a,b)=a*b的具体推导,假设a=p1^a1*p2^a2*p3*a3.........*pk^ak即为a的标准因子分解,假设其最小公倍数的标准分解也是这种形式,即c=p1^a1*p2^a
阅读全文
摘要:链接:http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=1328这道题是说,前n个正整数即1,2,3......n所有数的最小公倍数定义为An,例如A1=1,A2=2,A3=6......这道题是说,如果给定一个数n是否满足An=A(n-1);我们首先进行一下分析,首先,如果n是素数,那么很明显An!=An-1,剩余的问题就是,如果n是合数的时候,该如何判断,首先呢,我么可以看到,我么可以得出结论,如果An!=An-1那么,n一定不存在互素的因子对。我们可以进行以下证明,我们知道LC
阅读全文
摘要:欧几里得方程在RSA 算法中,往往要在已知A、N的情况下,求 B,使得 (A*B)%N=1。即相当 于求解B、M都是未知数的二元一次不定方程 A*B-N*M=1 的最小整数解。而针对不定方程ax-by=c 的最小整数解,古今中外都进行过详尽的研究,西方 有著名的欧几里德算法,即辗转相除法,中国有秦九韶的“大衍求一术”。事实上 二元一次不定方程有整数解的充要条件是c为a、b的最大公约数。即当c=1时,a、b 必须互质。而在RSA算法里由于公钥d为素数,素数与任何正整数互质,所以可以通 过欧几里德方程来求解私钥e。欧几里德算法是一种递归算法,比较容易理解:例如:11x-49y=1,求x (a) 1
阅读全文

浙公网安备 33010602011771号