摘要: 给出方程a*x+b*y=c,其中所有数均是整数,且a,b,c是已知数,求满足那个等式的x,y值?这个方程可能有解也可能没解也可能有无穷多个解(注意:这里说的解都是整数解)? 既然如此,那我们就得找出有解和无解的条件! 先给出定理:方程a*x+b*y=c有解,当且仅当c%gcd(a,b)=... 阅读全文
posted @ 2014-12-06 23:13 无道圣君 阅读(3526) 评论(1) 推荐(0) 编辑
摘要: 我们都知道欧几里得算法是用来快速求两个数的最大公约数的算法,效率较高:2O(logn)。 我们先给出算法的实现: 1 int gcd_1(int a, int b) 2 { 3 if(b==0) return a; 4 return gcd_1(b, a%b); 5 } 6 ... 阅读全文
posted @ 2014-12-06 19:08 无道圣君 阅读(1740) 评论(0) 推荐(0) 编辑
摘要: 假设我们现在需要知道 ab 的后 n位数或前 n位数,简单直观的做法就是求出ab 的值,然后在分别取前n位或后n位,不过在 a,b很大的情况下显然是无法存储的。所以,直接求是不可能的了。 让我们先来看看后 n位如何求?因为我们只要后n位,那么我们都知道把ab 的值模上一个10n就是所求。根据求... 阅读全文
posted @ 2014-12-06 11:32 无道圣君 阅读(193) 评论(0) 推荐(0) 编辑