【C++】欧几里德算法快速求最大公约数
生活随笔
收集整理的這篇文章主要介紹了
【C++】欧几里德算法快速求最大公约数
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
問題描述:如何快速求解2個(gè)正整數(shù)的最大公約數(shù)。
歐幾里德(Euclid)算法,也既常說的“輾轉(zhuǎn)相除法”,用于計(jì)算2個(gè)正整數(shù)的最大公約數(shù)(Greatest Common Divisor),
計(jì)算公式:gcd(a,b) = gcd(b,a mod b);
代碼實(shí)現(xiàn)如下:
#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<<"請(qǐng)輸入2個(gè)正整數(shù):"<<endl;cin>>m>>n;cout<<endl<<"最大公約數(shù)為:"<<gcd(m,n)<<endl;return 0; }運(yùn)行結(jié)果如下:
總結(jié)
以上是生活随笔為你收集整理的【C++】欧几里德算法快速求最大公约数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【C/C++】main函数之参数argc
- 下一篇: s3c2440移植MQTT