上机内容:求最大公约数
上机目的:熟悉递归法
/*
* Copyright (c) 2012, 烟台大学计算机学院
* All rights reserved.
* 作 者:黄兆宽
* 完成日期:2012 年 11月 22 日
* 版 本 号:v1.0
*
* 输入描述: 利用递归法求两数最大公约数
* 问题描述: 略
* 程序输出:略
* 问题分析:略
* 算法设计:略
* 题目:输入两个正整数a和b,求其最大公约数。
* 程序分析:利用递归辗除法。
*/
#include<iostream>
using namespace std;
int gys(int a,int b);
int main(){
int a,b,max,min;
cout<<"请输入两个正整数:";
cin>>a>>b;
cout<<"最大公约数为:"<<gys(a,b)<<endl;
}
int gys(int a, int b){
int c,max;
if(a%b==0){
return b;
}else{
if(a<b){
c=b;
b=a;
a=c;
}else{}
max=gys(a,a%b);
}
return max;
}
运行结果: