问题及代码:
/*
*Copyright (c)2014,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:number.cpp
*作 者:单昕昕
*完成日期:2014年11月13日
*版 本 号:v1.0
*
*问题描述:求两个数的最大公约数。
*程序输出:最大公约数。
*/
#include <iostream>
using namespace std;
int divisor(int a,int b);
int main()
{
int a,b;
cout<<"请输入两个数:"<<endl;
cin>>a>>b;
cout <<"最大公约数为:"<<divisor(a,b)<< endl; //调用函数输出计算结果
return 0;
}
int divisor(int a,int b)
{
return (a%b!=0?(divisor(b,a%b)):b); //判断a%b同时利用递归函数求解
}
运行结果:
知识点总结:
回想之前学习的求最大公约数的算法。
学习心得:
int divisor(int a,int b)可以有很多种写法,我在这里写的这种是最简洁的。