国产探花免费观看_亚洲丰满少妇自慰呻吟_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;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 涿州市| 黔西| 岑巩县| 汪清县| 北海市| 县级市| 巴林左旗| 杭锦后旗| 汝阳县| 利川市| 峨边| 扶绥县| 德庆县| 涡阳县| 科技| 太保市| 徐州市| 石屏县| 扎鲁特旗| 永康市| 北宁市| 桂林市| 棋牌| 聂拉木县| 共和县| 嘉荫县| 江陵县| 河池市| 平谷区| 马鞍山市| 鲁甸县| 永顺县| 鄂托克前旗| 卫辉市| 封开县| 新昌县| 运城市| 会昌县| 宁乡县| 和田县| 桂东县|