C++求最大公約數


題目內容:求兩個正整數的最大公約數。

輸入描述:輸入數據含有不多於50對的數據,每對數據由兩個正整數(0<n1,n2<232)組成。

輸出描述:對於每組數據n1和n2,計算最大公約數,每個計算結果應單獨占一行。

題目分析:求兩數的最大公約數,可采用歐幾里得方法:只要兩數不相等,就反復用大數減小數,直到相等為止,此相等的數就是兩數的最大公約數。

參考代碼:

#include <iostream>
#include <fstream>
using namespace std;
int gcd(int,int);
int main(int argc,char * argv[])
{
    int x,y;
    while(cin>>x>>y)
    {
        cout<<gcd(x,y)<<endl;
    }
    system("pause");
    return 0;
}
int gcd(int x,int y)
{
    while(x!=y)
    {
        if(x>y) x=x-y;
        else y=y-x;
    }
    return x;
}

效果如圖:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM