国产探花免费观看_亚洲丰满少妇自慰呻吟_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;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 绵阳市| 安平县| 名山县| 侯马市| 南汇区| 读书| 乌兰浩特市| 张家界市| 天水市| 江城| 马龙县| 多伦县| 黄梅县| 高陵县| 和平县| 克什克腾旗| 合江县| 县级市| 会东县| 临安市| 台中县| 滕州市| 鹤壁市| 洞口县| 南通市| 岳普湖县| 陕西省| 博罗县| 塘沽区| 湘潭县| 平南县| 双辽市| 扬中市| 白朗县| 鄂托克前旗| 迁安市| 清流县| 东乌珠穆沁旗| 积石山| 盈江县| 新闻|