**對于正整數 a和b ?利用歐幾里得算法可以得出 一個最大公因數 , ?改進后的算法滿足 ?最大公因數 q=xa+yb ? ;**
**那么我們如何求出 a和b呢 。**
**書上是這么寫的 那么我們用代碼把他實現出來, 向大家推薦一本書《The Art Of Computer.Programmer》 ? 第一篇的數學部分 ? 真心的枯燥 我選擇的方式 是 適當的囫圇吞棗 對于這一樣 ,但是對于其中講述的算法 還是要仔細的去看滴 。**

**對于算法的分析 ?我直接上原書圖**

~~~
#include "stdafx.h"
//擴充的歐幾里得算法
//對于正整數 a,b 有 m*a+n*b=r
//r 為最大公約數 這就是改進后的歐幾里得算法
int _tmain(int argc, char**grav)
{
int m = 1000, n = 255;
int r;
int t;
int x = 0, x1 = 1, y1 = 0, y = 1;
while ((r = m%n) != 0)
{
//改變x x1
t = x1;
x1 = x;
x = t - (int)(m / n)*x;
//改變y y1
t = y1;
y1 = y;
y = t - (int)(m / n)*y;
//改變 m<-n n<-r
m = n;
n = r;
}
printf("x=%d,y=%d,余數=%d", x,y,n);
return 0;
}
~~~
- 前言
- C++數據結構與算法------------二叉樹的2種創建
- 二叉樹的創建以及利用迭代實現中序、先序、后序遍歷、清空
- 數據結構-----哈夫曼樹的構造以及遍歷
- 二叉搜索樹的非遞歸創建和搜索
- 二叉搜索樹非遞歸方式刪除節點
- Lua中table內建排序與C/C++/Java/php/等內排序算法的排序效率比較
- 內嵌匯編與C/C++實現的冒泡排序,快速排序算法排序500W個數據對比
- 菜鳥學算法--簡單的交換和最大公約數算法入門篇
- 菜鳥學算法----改進后的歐幾里得算法
- C++實現一個線程安全的單例工廠
- 關于有序二維矩陣查找和字符串替換的兩道算法題
- 算法有序數組合并---在空間足夠的情況下,進行O(n)的合并 并且移動次數最小