洛谷_p1082同餘方程
using namespace std;
int gcd(int x,int y){ //用擴充套件歐幾里得求逆元
return y==0? x:gcd(y,x%y);
}
int exgcd(int a,int b,int &x,int &y)
{
if(b==0)
{
x=1;
y=0;
return a;
}
int r=exgcd(b,a%b,x,y);
int t=x;
x=y;
y=t-a/b*y;
return r;
}
int x,y;
int main()
{
int a,b;
cin>>a>>b;
exgcd(a,b,x,y);
cout<<(x%b+b)%b<<endl;//最後的x不一定是大於0小於b的最小解 用(x%b+b)%b可以轉換
return 0;
}
相關推薦
洛谷_p1082同餘方程
#include<iostream> using namespace std; int gcd(int x,int y){ //用擴充套件歐幾里得求逆元return y==0? x:gcd(y,x%y); } i
洛谷P1082 同餘方程
題目描述 求關於x的同餘方程 ax = 1(mod b) 的最小正整數解。 上面那個等號應該是三個橫,可是我打不出來。。。。。。湊合看吧 輸入輸出格式 輸入格式: 一行,包含兩個正整數 $a,b$,用一個空格隔開。 輸出格式: 一個正整數 x0,即最小正整數解。
擴展歐幾裏得模板(洛谷1082 同余方程NOIP 2012 提高組 第二天 第一題)
its gcd pre 題目 兩個 描述 article 模板 strong 題目描述 求關於 x 的同余方程 ax ≡ 1 (mod b)的最小正整數解。 輸入輸出格式 輸入格式: 輸入只有一行,包含兩個正整數 a, b,用一個空格隔開。
洛谷 P1082 同余方程
我不知道 dal long das 同余 art 不知道 ++ cloc 題目描述 求關於 x 的同余方程 ax ≡ 1 (mod b)的最小正整數解。 輸入輸出格式 輸入格式: 輸入只有一行,包含兩個正整數 a, b,用一個空格隔開。 輸
洛谷 P1082 同余方程 題解
span 1=1 while ext html 關於 16px 2-2 正文 此文為博主原創題解,轉載時請通知博主,並把原文鏈接放在正文醒目位置。 題目鏈接:https://www.luogu.org/problem/show?pid=1082 題目描述 求關於
洛谷 P1082 同余方程 —— exgcd
ios org .org string \n names pan clas -s 題目:https://www.luogu.org/problemnew/show/P1082 用 exgcd 即可。 代碼如下: #include<iostream> #incl
洛谷Oj-P1082 同餘方程-擴充套件歐幾里得
題目描述: 求關於 x 的同餘方程 ax ≡ 1 (mod b)的最小正整數解。 AC程式碼: void ex_gcd(int a,int b,int &x,int &y) {
【題解】[牛客網NOIP賽前集訓營-提高組(第五場)]A.同餘方程 位運算
#include<cstdio> #include<algorithm> using namespace std; typedef long long ll; const ll mod=998244353; ll m,l1,l2,r1,r2; ll
[JZOJ5894] 【NOIP2018模擬10.5】同餘方程
Description 給出 l 1 ,
noip2012 同餘方程
題目描述 求關於xx的同餘方程 ax≡1(modb) 的最小正整數解。 輸入輸出格式 輸入格式: 一行,包含兩個正整數 a,b,用一個空格隔開。 輸出格式: 一個正整數 x,即最小正整數解。輸入資料保證一定有
同餘方程(擴充套件歐幾里德演算法)
同餘方程 時間限制: 1 Sec 記憶體限制: 128 MB 題目描述 求關於 x 的同餘方程 ax ≡ 1 (mod b)的最小正整數解。 輸入 輸入只有一行,包含兩個正整數 a, b,用一個空格隔開。 輸出 輸出只有一行,包含
caioj 1154 同餘方程(模版)
求x的最小正整數解,使得ax=b(mod m) 那麼顯然ax - b = m * y ax - my = b 那麼就套入Ax+By = K的不定方程中,然後用exgcd求解即可 但這道題求最大正整數解,對於一組解,有這樣一個推論 x = x0 +k*(b/gcd(a
青蛙的約會-求解模線性同餘方程
1.問題描述: 兩隻青蛙在網上相識了,它們聊得很開心,於是覺得很有必要見一面。它們很高興地發現它們住在同一條緯度線上,於是它們約定各自朝西跳,直到碰面為止。可是它們出發之前忘記了一件很重要的事情,既沒有問清楚對方的特徵,也沒有約定見面的具體位置。不過青蛙們都是很樂觀的,它們
同餘方程(NOIP2012)
問題描述 求關於x的同餘方程 ax≡1(mod)b的最小正整數解。 輸入檔案 輸入只有一行,包含兩個正整數a,b,用一個空格隔開。 輸出檔案 輸出只有一行,包含一個正整數x0,即最小正整數解。輸入資料保證一定有解。 樣例輸入 3 10 樣例輸出 7 限制與約定
p1434 [noip2012]day2-T1同餘方程
題目 https://www.luogu.org/problemnew/show/P1082 程式碼 #include<bits/stdc++.h> using namespace std; typedef long long ll; ll a, b, x, y;
CHOJ 3301同餘方程【擴充套件歐幾里得】
描述 求關於 x的同餘方程 ax ≡ 1(mod b) 的最小正整數解。 輸入格式 輸入只有一行,包含兩個正整數a,b,用一個空格隔開。 輸出格式 輸出只有一行,包含一個正整數,包含一個正整
【JZOJ5894】【NOIP2018模擬10.5】同餘方程(容斥+計數問題+類數位DP)
Problem Hint Solution 首先,考慮類似差分的容斥。 設fa,bf_{a,b}fa,b表示x在[0,a-1]範圍內,y在[0,b-1]範圍內的答案。則原Ans=fr1+1,r2+1−fl1,r2+1−fr1+1,l2+fl1,l2Ans
jzoj5894 同餘方程 容斥
Description Solution NOIp要是考成這shi樣可就涼了呀。。 首先可以想到令solve(a,b)為x<=a,y<=b的答案,那麼答案就是solve(r1,r2)-
jzoj5894. 【NOIP2018模擬10.5】同餘方程
題目描述 30% 直接暴力搞 60% 可以打個表找規律,發現大致可以分成log段連續的數 然後隨便搞 100% 考慮用容斥的思想,把詢問拆成四個 所以就變成了求 ans(l,r)=∑i=0l∑j=0r(i⊕j)≡0  (mod&am
NOIP 2012 同餘方程
菜到數論啥也不會了orz... 根據擴充套件歐幾里得定理:ax + by = gcd(a,b)必定有至少一組解,且可以通過這個演算法求出x,y的一組解 過程如下: 根據gcd(a,b) = gcd(b,a % b)可以得出 ax1 + by1 = gcd(a,b) 等價於 bx2 + (a % b)y