课件:中国剩余定理.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Hdoj 1730 /showproblem.php?pid=1370 跟PKU1006一样,只是要注意输入。 scanf(%d,x); while(x) { getchar(); x--; } Hdoj 1573 /showproblem.php?pid=1573 求在小于等于N的正整数中有多少个X满足:X mod a[0] = b[0], X mod a[1] = b[1], X mod a[2] = b[2], …, X mod a[i] = b[i], … (0 a[i] = 10)。 0 N = 1000,000,000 Pku 2891 /JudgeOnline/problem?id=2891 大意: 给出K对整数,每对整数假设是A和B,则一个数N,它除以A余B,求满足这K对整数的整数N。 (直接用剩余定理) 代码:PKU2891 #includestdio.h #includestring.h __int64 exGcd (__int64 a, __int64 b, __int64 x, __int64 y){ __int64 tmp, d; if (b == 0){ x = 1; y = 0; d = a; } else { d = exGcd (b, a % b, x, y); tmp = x; x = y; y = tmp - a / b * y; } return d; } int main (){ __int64 a1, m1, a2, m2, t, n, d, x, y; int flag; while (scanf (%I64d, n) != EOF){ scanf (%I64d%I64d, m1, a1); n--; flag = 0; while (n--) { scanf (%I64d%I64d, m2, a2); d = exGcd (m1, m2, x, y); if ((a2 - a1) % d != 0) flag = 1; t = m2 / d; x *= (a2-a1) / d; x = (x % t + t) % t; a1 = a1 + m1 * x; m1 = (m1 * m2) / d; a1 = (a1 % m1 + m1) % m1; } if (flag) printf (-1\n); else printf (%I64d\n, a1); } return 0; } PKU 1061 青蛙的约会 /JudgeOnline/problem?id=1061 大意:青蛙A和青蛙B,规定纬度线上东经0度处为原点,一条首尾相接的数轴由东往西为正方向,单位长度1米。设青蛙A的出发点坐标是x,青蛙B的出发点坐标是y。青蛙A一次能跳m米,青蛙B一次能跳n米,两只青蛙跳一次所花费的时间相同。纬度线总长L米。现在要你求出它们跳了几次以后才会碰面。(同一时间跳到同一点上 才算碰面) 代码:PKU1061 #include iostream using namespace std; __int64 X, Y; __int64 exp_gcd(__int64 a, __int64 b, __int64 X, __int64 Y){ __int64 q, temp; if(b == 0){ q = a; X = 1; Y = 0; return q; }else{ q = exp_gcd(b, a % b, X, Y); temp = X; X = Y; Y = temp - (a / b) * Y; return q; } } __int64 GCD(__int64 a, __int64 b){ __int64 m = 1; while(m) { m = a%b; a = b; b = m; } return a; } __int64 x, y, m, n, l, A, B, C; __int64 gcd; int main(){ while(scanf(%I64d%I64d%I64d%I64d%I64d, x, y, m, n, l) != EOF) { A = n - m; B = l; C = x - y; gcd = GCD(A, B);

文档评论(0)

iuad + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档