GCD最大公约数 方法:欧几里得算法(辗转相除法), 【思想】递归 【思路】 【代码】 LCM最小公倍数 追求方便公式法求解。 【思路】 【代码】 ...
                            
                            
                                分类:
编程语言   时间:
2017-08-27 14:47:06   
                                阅读次数:
201
                             
                    
                        
                            
                            
                                    此处所谓求逆运算,是指在模乘群里求逆。 第一节里提到互质的两个定义: (1)p,q两整数互质指p,q的最大公约数为1。 (2)p.q两整数互质指存在整数a,b,使得ap+bq=1。 只要明白了欧几里得算法,很容易就可以求出两整数的最大公约数,而这是一个小学时候就学习到的算法。这个算法有个可能让我们更 ...
                            
                            
                                分类:
编程语言   时间:
2017-08-26 15:07:15   
                                阅读次数:
237
                             
                    
                        
                            
                            
                                    声明:本文中的变量若非特别说明,均指整数。 定义: 扩展欧几里得算法是用于解决一类形如求解a*x+b*y=c中(x,y),或者形如a*x≡b(mod c)中x的问题。 引理(裴蜀定理): 不定方程a*x+b*y=gcd(a,b)(x,y为变量)一定有无数个解。 证明: 先证明该方程有解。 将欧几里得 ...
                            
                            
                                分类:
其他好文   时间:
2017-08-24 23:52:09   
                                阅读次数:
191
                             
                    
                        
                            
                            
                                    我曾经在数论里谈过扩展欧几里得算法只有实现,我知道它可以求模线性方程的解,但是具体也没有想过,因为同余是数论中问题 现在来填下坑 什么是同余 给定一个正整数m,如果两个整数a和b满足(a-b)能够被m整除,即(a-b)/m得到一个整数,那么就称整数a与b对模m同余,记作a≡b(mod m)。 算法导 ...
                            
                            
                                分类:
其他好文   时间:
2017-08-17 18:33:44   
                                阅读次数:
221
                             
                    
                        
                            
                            
                                    给定n个正整数a1,a2,…,an,求 的值(答案模10^9+7)。 Input 第一行一个正整数n。 接下来n行,每行一个正整数,分别为a1,a2,…,an。 Output 仅一行答案。 Sample Input Sample Output Hint 1<=n<=10^5,1<=ai<=10^7。 ...
                            
                            
                                分类:
编程语言   时间:
2017-08-17 00:36:58   
                                阅读次数:
134
                             
                    
                        
                            
                            
                                //欧几里得算法function ojld($m, $n) { if($m ==0 && $n == 0) { return false; } if($n == 0) { return $m; } while($n != 0){ $r = $m % $n; $m = $n; $n = $r; } r ...
                            
                            
                                分类:
编程语言   时间:
2017-08-16 15:27:03   
                                阅读次数:
136
                             
                    
                        
                            
                            
                                    最近在学习PKI,顺便接触了一些加密算法。对RSA着重研究了一下,自己也写了一个简单的实现RSA算法的Demo,包括公、私钥生成,加解密的实现。虽然比较简单,但是也大概囊括了RSA加解密的核心思想与流程。这里写下来与大家分享一下。 RSA概述: RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前 ...
                            
                            
                                分类:
编程语言   时间:
2017-08-15 17:12:31   
                                阅读次数:
206
                             
                    
                        
                            
                            
                                【问题描述】 克里特岛以野人群居而著称。岛上有排列成环行的M个山洞。这些山洞顺时针编号为1,2,…,M。岛上住着N个野人,一开始依次住在山洞 C1,C2,…,CN中,以后每年,第i个野人会沿顺时针向前走Pi个洞住下来。每个野人i有一个寿命值Li,即生存的年数。下面四幅图描述了一个有6个 山洞,住有三 ...
                            
                            
                                分类:
编程语言   时间:
2017-08-15 10:01:23   
                                阅读次数:
204
                             
                    
                        
                            
                            
                                    百度百科: 欧几里德算法又称辗转相除法,是指用于计算两个正整数a,b的最大公约数。应用领域有数学和计算机两个方面。计算公式gcd(a,b) = gcd(b,a mod b)。 证明: r = a mod b, a = b * k + r; => r = a - b * k; d|a && d|b = ...
                            
                            
                                分类:
编程语言   时间:
2017-08-13 12:18:36   
                                阅读次数:
136
                             
                    
                        
                            
                            
                                    求GCD 线性筛求[1,n]的质数 1 bool isprime[1000]; 2 int prime[100],tot; 3 void pri(int n) 4 { 5 tot = 0; 6 memset(isprime,true,sizeof(isprime)); 7 int i,j; 8 fo ...
                            
                            
                                分类:
编程语言   时间:
2017-08-10 10:27:37   
                                阅读次数:
197