poj-2115-C Looooops-擴展歐幾里德

題目大意:

給你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;


不知道爲什麼代碼不能粘貼上來。。。就不貼代碼了。。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章