首页 > 其他 > 详细

poj-2115-C Looooops-扩展欧几里德

时间:2014-08-04 17:43:07      阅读:251      评论:0      收藏:0      [点我收藏+]
题目大意:

给你A,B,C,K,让你求出一个最小的x使得:

A+C*x=B(mod 2^k)

即C*x=B-A(mod 2^k);

扩展欧几里德的模版题:
对于

A*x=d(mod B)

即A*x+B*y=d d=gcd(A,B);

d=exgcd(A,B,x,y);

那么此时,x的值即为最小的x。

但x有可能为负数,所以最小的正整数解为

x=(x%(B/d)+B/d;


不知道为什么代码不能粘贴上来。。。就不贴代码了。。。。

poj-2115-C Looooops-扩展欧几里德,布布扣,bubuko.com

poj-2115-C Looooops-扩展欧几里德

原文:http://blog.csdn.net/rowanhaoa/article/details/38371491

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!