/*
* Copyright (c) 2011, 烟台大学计算机学院
* All rights reserved.
* 作 者:孙红蕾
* 完成日期:2012 年 11 月 25 日
* 版 本 号:v1.0
*
* 输入描述:a,b 两个正整数
* 问题描述:用辗转相除法求两个正整数a,b 的最大公约数
* 程序输出:a,b 的最大公约数
* 问题分析:采用迭代的方法
* 算法设计:略
*/
#include <iostream>
using namespace std;
int gcd (int x,int y);
int main ()
{
int a,b;
cout <<"请输入a,b两个正整数:";
cin >>a>>b;
cout <<"最大公约数为:"<<gcd (a,b)<<endl;
return 0;
}
int gcd (int x,int y)
{
int z;
while (y>0)
{
z=x%y;
x=y;
y=z;
}
return x;
}
输出结果: