【C++】欧几里德算法快速求最大公约数
生活随笔
收集整理的這篇文章主要介紹了
【C++】欧几里德算法快速求最大公约数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
問題描述:如何快速求解2個正整數的最大公約數。
歐幾里德(Euclid)算法,也既常說的“輾轉相除法”,用于計算2個正整數的最大公約數(Greatest Common Divisor),
計算公式:gcd(a,b) = gcd(b,a mod b);
代碼實現如下:
#include <iostream> using namespace std;int gcd(int m, int n) {int r = 0;while(n!=0){r=m%n;m=n;n=r;}return m; } int main() {int m,n;cout<<"請輸入2個正整數:"<<endl;cin>>m>>n;cout<<endl<<"最大公約數為:"<<gcd(m,n)<<endl;return 0; }運行結果如下:
總結
以上是生活随笔為你收集整理的【C++】欧几里德算法快速求最大公约数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【C/C++】main函数之参数argc
- 下一篇: 【C/C++】等分或指定行数把txt文档