、B与えられ、xは最小の方程式AX≡1(MOD B)の周りに得られます。
特定の可解性を確保するための入力
2≤、B≤2×10 9
#説明
AX≡1(MOD B)
AX + = 1によって
一般解の表現:
X = X 0 + B * K
Y = Y 0 - * K
したがって、xは0 B xがとり得る%が最小であります
金型後の再金型の数を加えて、一度死ぬ:最後に、使用されたスキル、残部を取ります
1の#include <ビット/ STDC ++ H> 2 の#define長い長llの 3 使用して 名前空間STDを、 4 LLのA、B。 5のLL exgcd(-1,11,11- B、LL&X、LL&Y){ 6 場合(B == 0 ){ 7 、X = 1、Y = 0 。 8 返します。 9 } 10 のLL D = exgcd(B、%のB、Y、X)。 11 Y- = A / B * X。 12 } 13 INT メイン(){ 14 CIN >> B。 15 LL X、Y。 16 exgcd(A、B、X、Y)。 17 COUT <<(X%B + B)%のB << ENDL。 18 }