问题及代码:
/*
* Copyright (c) 2014, 烟台大学计算机与控制工程学院
* All rights reserved.
* 文件名称:main.cpp
* 作 者:何小乐
* 完成日期:2014年 11 月 17 日
* 版 本 号:v1.0
*
* 问题描述:用递归求出两个数的最大公约数
* 输入描述:两个整型数
* 程序输出:这两个数的最大公约数
*/
#include <iostream>
using namespace std;
int gcd(int,int);
int main()
{
int x,y;
cin>>x>>y;
cout<<gcd(x,y)<<endl;
return 0;
}
int gcd(int a,int b)
{
int r;
r=a%b;
a=b;
b=r;
if(r==0) //0和其他数的公约数是其他数
return a;
else
gcd(a,b);
}
运行结果:
学习小结:
贺老师那个精简到让我晕乎乎的,这是未经指点前自己写的程序,挺死板的。
关于递归我应该还是理解的不够吧。