/*
* Copyright (c) 2013, 烟台大学计算机学院
* All rights reserved.
* 作 者: 李家豪
* 完成日期:2013 年11月13日
* 版 本 号:v1.0
* 问题描述:求两个数的最大公约数。
* 样例输入:822 21
* 样例输出:3
* 问题分析:辗转相除法。
*/
#include <iostream>
using namespace std;
int gcd(int,int);
int main()
{
int a,b,g;
cout<<"请输入两个数:";
cin>>a>>b;
g=gcd(a,b);
cout<<"最大公约数是: "<<g;
return 0;
}
int gcd(int x,int y)
{
int r;
while(y>0)
{
r=x%y;
x=y;
y=r;
}
return x;
}
运行结果:
体会心得:不同的方法,越学越活