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

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

拓展歐幾里得

2019-11-11 03:52:10
字體:
來源:轉載
供稿:網友

輾轉相除法

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;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 呼伦贝尔市| 荔波县| 鲁山县| 珠海市| 山阳县| 奇台县| 偏关县| 望谟县| 新平| 井冈山市| 五原县| 舞钢市| 罗甸县| 凯里市| 阳新县| 固镇县| 依安县| 水城县| 迭部县| 田阳县| 资阳市| 湟中县| 隆安县| 乌拉特后旗| 怀化市| 波密县| 霍州市| 垣曲县| 凤山县| 沂水县| 同德县| 阜阳市| 邓州市| 台山市| 红桥区| 永济市| 鹤庆县| 德兴市| 沙洋县| 大关县| 紫阳县|