ACM數論之旅4---擴展歐幾里德算法(歐幾里德(???)?是誰?)

為什么老是碰上

擴展歐幾里德算法

( ????? )最討厭數論了

看來是時候學一學了

?

度娘百科說:

首先,?ax+by = gcd(a, b) 這個公式肯定有解 (( ????? )她說根據數論中的相關定理可以證明,反正我信了)

所以?ax+by = gcd(a, b) * k 也肯定有解 (廢話,把x和y乘k倍就好了)

所以,這個公式我們寫作ax+by = d,(gcd(a, b) | d)

gcd(a, b)?|?d,表示d能整除gcd,這個符號在數學上經常見

?

?

那么已知 a,b 求 一組解 x,y 滿足?ax+by = gcd(a, b) 這個公式

?

 1 #include<cstdio>
 2 typedef long long LL;
 3 void extend_Eulid(LL a, LL b, LL &x, LL &y, LL &d){
 4     if (!b) {d = a, x = 1, y = 0;}
 5     else{
 6         extend_Eulid(b, a % b, y, x, d);
 7         y -= x * (a / b);
 8     }
 9 }
10 int main(){
11     LL a, b, d, x, y;
12     while(~scanf("%lld%lld", &a, &b)){
13         extend_Eulid(a, b, x, y, d);
14         printf("%lld*a + %lld*b = %lld\n", x, y, d);
15     }
16 }

?

?

有些人喜歡極度簡化,這是病,得治(,,? ? ?,,)比如在下

1 void ex_gcd(LL a, LL b, LL &d, LL &x, LL &y){
2     if(!b){d = a; x = 1; y = 0;}
3     else{ex_gcd(b, a%b, d, y, x); y -= x*(a/b);}
4 } 

?

連名字都簡化了。。。

?

?

?

( ????? )解完了

睡覺~~~

?

轉載于:https://www.cnblogs.com/linyujun/p/5167916.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/255962.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/255962.shtml
英文地址,請注明出處:http://en.pswp.cn/news/255962.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

艾里斑大小與像元尺寸的匹配問題

寫給自己看的學習記錄&#xff1a; 光具有波粒二象性&#xff0c;由此衍生出了幾何光學與衍射光學。在光學設計軟件中&#xff0c;最常用的判斷標準是查看點列圖的RMS半徑以及MTF圖的曲線&#xff0c;這兩者分別代表了兩種傳播性質的評價方式。 在剛接觸光學設計時&#xff0…

Android 保持Service不被Kill掉的方法--雙Service守護 Android實現雙進程守護

本文分為兩個部分&#xff0c;第一部分為雙Service守護&#xff0c;第二部分為雙進程守護 第一部分&#xff1a; 一、Service簡介&#xff1a;Java.lang.Object ?Android.content.Context ?android.content.ContextWrapper ?android.app.Service Service是應用程序Applicati…

【mmdetection2.0錯誤】——ModuleNotFoundError: No module named ‘mmdet‘

一開始以為是安裝包導入的相對路徑的問題&#xff0c;結果鼓搗了一上午都沒有用&#xff0c;最后才發現再進行mmdet2.0環境配置的時候忘記編譯了 也就是如下語句&#xff1a; python setup.py develop

聊聊分布式事務

事務就是一個會話過程中&#xff0c;對上下文的影響是一致的&#xff0c;要么所有的更改都做了&#xff0c;要么所有的更變都撤銷掉。就要么生&#xff0c;要么死。沒有半死不死的中間不可預期狀態。參考下薛定諤的貓。 事務是為了保障業務數據的完整性和準確性的。分布式事務&…

PLSQL DBMS_DDL.ANALYZE_OBJECT

http://space.itpub.net/11893231/viewspace-683241 本文轉自健哥的數據花園博客園博客&#xff0c;原文鏈接&#xff1a;http://www.cnblogs.com/gaojian/archive/2012/11/30/2795775.html&#xff0c;如需轉載請自行聯系原作者

【深度學習mmdetection錯誤】——mmdetection 運行報錯KeyError:‘ConvWS is already registered in conv layer‘

于是修改以下mmdetection的安裝文件&#xff1a; site-packages/mmdet-2.1.0unknown-py3.7-linux-x86_64.egg/mmdet/ops/conv_ws.py" 把 CONV_LAYERS.register_module(ConvWS) 修改為&#xff1a; CONV_LAYERS.register_module(nameConvWS, forceTrue)

ABB RAPID 在 Notepad++ 中語法高亮的實現

ABB RAPID 在 Notepad 中語法高亮的實現 分類&#xff1a; Misc2014-04-08 15:43 145人閱讀 評論(0) 收藏 舉報notepadNotepad 內置了一個稱為 UDL2.0 (User Defined Language) 的引擎&#xff0c;來實現用戶自定義語法高亮&#xff0c;使用它&#xff0c;可以定制自己的代碼語…

Redis服務器的啟動過程分析

轉載于&#xff1a;http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/127.html?1455808771 本文將通過分析代碼來介紹Redis的啟動過程&#xff0c;通過查看Redis 的啟動腳本&#xff0c;得知Redis的啟動時從Redis.c的main方法開始的。Redis啟動可以分為以下幾個步驟…

MyEclipse運行時自動保存

今天第一次用MyEclipse&#xff0c;我發現我的代碼明明修改了&#xff0c;但運行結果發現總是修改前的代碼結果。后來發現&#xff0c;是代碼修改后必須保存&#xff0c;再點運行。這個功能明顯不合適&#xff0c;所以需要更改MyEclipse的配置。紅框是修改后的結果。 轉載于:ht…

PLSQL中INDEX BY TABLE 的 prior 和 next 操作學習

開始 --INDEX BY Table SET SERVEROUTPUT ON;DECLARETYPE enm_tab_type IS TABLE OFemp.ename%TYPEINDEX BY BINARY_INTEGER;enm_table enm_tab_type; BEGINenm_table(1):1001;enm_table(2):1002;enm_table(3):1003;enm_table(4):1004;enm_table(6):1006;dbms_output.put_line(…

【深度學習torch——error】——“xxx.pt is a zip archive(did you mean to use torch.jit.load()?)

這個問題是在進行權重文件加載進行預測的時候發生的&#xff0c;原因其實就是torch版本不對 我是用的工作站訓練使用的是torch1.7.0&#xff0c;然后用自己的電腦進行預測&#xff0c;就報錯了&#xff0c;原因就是自己的電腦是torch1.2.0版本的 因為在1.6版本以上的模型改變…

ABB 機器人 IRBP系列轉臺的一段代碼注釋

PROC IndexToStn1() //檢測變位機狀態 并設置要運行到的角度位置 并對不同的GetNextPartAdv返回值情況 進行處理 VAR bool bActive;VAR jointtarget jtCurrent; //聲明一個位置變量IF (NOT bInterchCalib1) CalibIntch1; ! reset inpo…

如何寫一個bootloader

聲明&#xff1a;本文為學習Codeproject文章的個人總結性文章&#xff0c; 原文&#xff1a;http://www.codeproject.com/Articles/664165/Writing-a-boot-loader-in-Assembly-and-C-Part 本人開發環境&#xff1a; 操作系統&#xff1a;Ubuntu 32位&#xff08;64位的會有push…

定時執行某段程序

有時候我們需要每天 定時的 自動 去執行某段程序&#xff0c;那么這個功能如何實現呢&#xff1f; 經過百度&#xff0c;定時器就可以實現&#xff0c;總結如下&#xff1a; 我用控制臺寫了一個程序&#xff0c;用來在指定時間內 打印 “我執行了” 上面就是程序的運行結構&…

【error】深度優先搜索TypeError: unhashable type: ‘list‘

查網上的原因是&#xff1a; python字典的key不支持list類型和dict類型&#xff0c;需要轉換 但是我沒有使用到key&#xff0c;后來仔細查看發現是增加了一個裝飾器導致的&#xff0c;functions.lru.cache 把裝飾器注釋掉即可 # 利用深度搜索進行查找 lru_cache(None) def …

Okhttp 插入緩存攔截器 解析

我們在做網絡請求的時候&#xff0c;如果網絡請求過于頻繁而且請求的數據變動不大&#xff0c;或者基本沒有變動&#xff0c;這個時候如果沒有緩存功能&#xff0c;我們想一下 會浪費掉多少資源&#xff0c;一次請求刷新一次&#xff0c;去請求一次&#xff0c;不但會消耗用戶的…

淺談PROFINET IO通信的實時性

PROFINET由PROFIBUS國際組織&#xff08;PROFIBUS International&#xff0c;PI&#xff09;推出&#xff0c;是新一代基于工業以太網技術的自動化總線標準。作為一項戰略性的技術創新&#xff0c;PROFINET為自動化通信領域提 供了一個完整的網絡解決方案&#xff0c;囊括了諸如…

目標

學習計劃以及目標---------------------------------------------------------------------------------------------------------------------------------------------------------------- 正文 在上大學之前&#xff0c;可以說我完全是一個…

今日頭條核心技術“個性推薦算法”揭秘

今日頭條核心技術“個性推薦算法”揭秘 最近面試華興資本&#xff0c; 他們比較關注今日頭條算法的實現&#xff0c; 今天特轉載網上 今日頭條算法解密【IT168 評論】互聯網給用戶帶來了大量的信息&#xff0c;滿足了用戶在信息時代對信息的需求&#xff0c;也使得用戶在面對大…

PROFINET及其同步實時通訊分析

1 概述 PROFINET實時以太網是由Profibus International&#xff08;PI&#xff09;組織提出的基于以太網的自動化標準。從2004年4月開 始&#xff0c;PI與Interbus Club總線俱樂部聯手&#xff0c;負責合作開發與制定標準。PROFINET構成從I/O級直至協調治理級的基于組件的分…