国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

拓展歐幾里得

2019-11-11 04:29:49
字體:
來源:轉載
供稿:網友

輾轉相除法

int gcd(int a, int b){ return a == 0 ? b : gcd(b % a, a); }

拓展歐幾里得算法

ll exgcd(ll a, ll b){ if(b == 0) { x = 1, y = 0; return a; } else { ll ans = exgcd(b, a%b); ll tmp = x; x = y; y = tmp - (a / b) * x; return ans; }}

例題:同余方程 Mod

Noip2012提高組復賽Day2T1

描述

求關于x的同余方程ax ≡ 1 (mod b)的最小正整數解。


格式

輸入格式 輸入只有一行,包含兩個正整數a, b,用一個空格隔開。 輸出格式 輸出只有一行,包含一個正整數x0,即最小正整數解。輸入數據保證一定有解。


樣例1

樣例輸入1

3 10

樣例輸出1

7


超裸的題,直接上拓展歐幾里得


#include<iostream>#include<cstdio>#include<cstring>#include<cmath>using namespace std;typedef long long ll;int x, y;ll exgcd(ll a, ll b){ if(b == 0) { x = 1, y = 0; return a; } else { ll ans = exgcd(b, a%b); ll tmp = x; x = y; y = tmp - (a / b) * x; return ans; }}int main(){ ll a,b; cin>>a>>b; exgcd(a, b); x = (x + b) % b;//防止出現負數 cout<<x; return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平原县| 汝州市| 金堂县| 阿拉善盟| 云梦县| 阳曲县| 望谟县| 乌兰浩特市| 太和县| 湛江市| 古田县| 卢湾区| 漾濞| 句容市| 缙云县| 五指山市| 石家庄市| 仁寿县| 丹棱县| 公安县| 潮州市| 菏泽市| 宿迁市| 西贡区| 吉木乃县| 新乐市| 太原市| 五大连池市| 博乐市| 阜南县| 兴仁县| 新平| 临江市| 安阳县| 溧水县| 陈巴尔虎旗| 阳东县| 台安县| 永和县| 南阳市| 临汾市|