码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-08-04 17:43:07      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:代码   c   poj   oo   扩展   oj   gcd   不能   

题目大意:

给你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-扩展欧几里德

标签:代码   c   poj   oo   扩展   oj   gcd   不能   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!