【递归】求最大公约数(函数)

时间:2021-09-29 00:37:38
上机内容:C++程序的编写和运行
上机目的:掌握简单C++程序的编辑、编译、连接和运行的一般过程
我的程序:
/* 
Copyright (c) 2013, 烟台大学计算机学院
* All rights reserved.
* 作 者:赵玲玲
* 完成日期:2013 年 11 月 25 日
* 版 本 号:v1.0
* 输入描述: 40 36
* 问题描述:函数调用求两数最大公约数
* 程序输出:4
* 问题分析:辗转相除法
* 算法设计:用递归法y=a%b
*/

#include<iostream>
using namespace std;
int app_num(int,int); //函数声明,整数型
int main()
{
int a,b,x; //x为所求
cout<<"请输入两个正整数:";
cin>>a>>b;
x=app_num(a,b); //函数调用
cout<<"最大公约数是:"<<x<<endl;
return 0;
}
//函数定义
int app_num(int a,int b)
{
int x,y;
if(b==0) //无需大小转换
{
y=a; //保证结束
}else
{
y=app_num(b,a%b); //b与a%b辗转相除
}
return y;
}


运行结果: 【递归】求最大公约数(函数)
心得体会:自己做老是不太会,还需熟练
知识点总结:递归法,找到相同的循环步骤,app=x%y