给你n对数,输入x,y就是%x意义下余y #include<cstdio> #include<algorithm> #include<iostream> #include<cmath> typedef long long ll; using namespace std; ll ex_gcd(ll a,ll b,ll &x,ll &y) { if (!b) { x=1,y=0; return a; } ll fzy=ex_gcd(b,a%b,x
poj 1006 题的思路不是很难的,可以转化数学式: 现设 num 是下一个相同日子距离开始的天数 p,e,i,d 如题中所设! 那么就可以得到三个式子:( num + d ) % 23 == p: ( num + d ) % 28 == e: ( num + d ) % 33 == i: p,e,i,d 是我们输入的,那么我们需要求出num即可,为了方便,我们将num+d暂时作为一个整体!令x = num + d: 即:x % 23 == p: x % 28 == e: x % 33 ==
如果模数互质的话,直接中国剩余定理就可以了 但是如果模数不互质又没有接触这个方法就凉凉了 推是很不好推出来的 假设我们这里有两个方程: x=a1?x1+b1 x=a2?x2+b2 a1,a2是模数,b1,b2是余数 那么我们可以合并这两个方程: a1?x1+b1=a2?x2+b2 由于x1和x2可以取负无穷到正无穷,所以符号不能约束它们,我们随便变一变形得到 a1?x1+a2?x2=b2?b1 然后使用拓展欧几里德算法,x和y分别是式子中的x1和x2 我们求出了一个最小正整数解x1 令k=(a1
今有物,不知其数,三三数之,剩二:五五数之,剩三:七七数之,剩二.问物几何 ——<孙子算经> 答为“23”.也就是求同余式组 x≡2 (mod3),x≡3 (mod5 ),x≡2 (mod7)的正整数解. 不难看出,题中3,5,7分别是互质的.具体解法是这样的 1.找出三个数:从3和5的公倍数中找出被7除余1的最小数15,从3和7的公倍数中找出被5除余1 的最小数21,最后从5和7的公倍数中找出除3余1的最小数70.2.用15乘以2(2为最终结果除以7的余数),用21乘以3(
中国剩余定理互质版 设m1,m2,m3,...,mk是两两互素的正整数,即gcd(mi,mj)=1,i!=j,i,j=1,2,3,...,k. 则同余方程组: x = a1 (mod n1) x = a2 (mod n2) ... x = ak (mod nk) 模[n1,n2,...nk]有唯一解,即在[n1,n2,...,nk]的意义下,存在唯一的x,满足: x = ai mod [n1,n2,...,nk], i=1,2,3,...,k. 解可以写为这种形式: x = sigma(ai*
先看一道poj上的题目:[poj1006] Biorhythms 题意: 人自出生起就有体力,情感和智力三个生理周期,分别为23,28和33天.一个周期内有一天为峰值,在这一天,人在对应的方面(体力,情感或智力)表现最好.通常这三个周期的峰值不会是同一天.现在给出三个日期,分别对应于体力,情感,智力出现峰值的日期.然后再给出一个起始日期,要求从这一天开始,算出最少再过多少天后三个峰值同时出现. 分析: 首先我们要知道,任意两个峰值之间一定相距整数倍的周期.假设一年的第N天达到峰值,则下次达到峰值
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=5446 思路:Lucas求出所有a[i]=C(n,m)%m[i],中国剩余定理求出最终结果x (LL*LL会爆掉,手写乘法). 中国剩余定理: 设m1,m2,....mn是两两互质的正整数,对任意给定的整数a1,a2,....an必存在整数,满足 x≡a1 (mod m1),x≡a2 (mod m2),x≡a3 (mod m3)...... 并且满足上列方程组的解x(mod m1m2m3.....mn
中国剩余定理 孙子算经里有这样一个问题:"今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?" 翻译成现在的数学问题就是 x%3 == 2,x%5 == 3,x%7 == 2,求x 的值: 遇到这这样一个问题很多C语言初学者不禁会想到用暴力可以算出来,还要这样一个定理干嘛? 如果数据相当大呢?计算机就会计算相当困难.然而这个问题早早的就被孙子解决了. 求出3,5,7 两两中的最小公倍数lcm,k*lcm与另一个数mod等于1(找出一个符合条件的k): 用k*lcm*
P1164曹冲养猪 Accepted 标签:三国争霸[显示标签] 描述 自从曹冲搞定了大象以后,曹操就开始捉摸让儿子干些事业,于是派他到中原养猪场养猪,可是曹冲满不高兴,于是在工作中马马虎虎,有一次曹操想知道母猪的数量,于是曹冲想狠狠耍曹操一把.举个例子,假如有16头母猪,如果建了3个猪圈,剩下1头猪就没有地方安家了.如果建造了5个猪圈,但是仍然有1头猪没有地方去,然后如果建造了7个猪圈,还有2头没有地方去.你作为曹总的私人秘书理所当然要将准确的猪数报给曹总,你该怎么办? 格式 输入格式 第一行