第11周项目2求最大公约数(2四数)

本文详细介绍了如何使用C++语言通过定义三个函数intmain,intgcd,intgcds来求四个数的最大公约数。通过实例代码解释了函数调用、形式参数以及递归求解过程,提供了从错误到正确理解的详细步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*

*copyright (c)2014,烟台大学计算机学院 

*All rights reserved 

*文件名称:qwe.cpp

*作者:孙春红 

*完成日期:2014年11月10号 

*版本号:v1.0 

*问题描述:通过函数,求四个数的最大公约数
*
*/
#include <iostream>

using namespace std;
int gcd (int ,int );
int gcds (int,int,int,int);
int main()
{
    int a,b,c,d;
	cin>>a>>b>>c>>d;
	cout<<"最大公约数是: "<<gcds(a,b,c,d)<<endl;
	return 0;
}
int gcd(int x,int y)
{
    int r;
    while (y>0)
    {
        r=x%y;
        x=y;
        y=r;
    }
    return (x);
}
int gcds (int p,int q,int x,int y)
{
   int g,g1,g2;
   g1=gcd (x,y);
   g2=gcd (p,q);
   g=gcd(g1,g2);
    return (g);
}


运行结果:

知识点总结:

学会使用函数求四个数的最大公约数。

学习心得:

了解了在多个函数之间的联系,就如下面的运行界面,声明了三个函数 int main, int gcd,int gcds。开始时,只是想通过求两个数的最大公约数的形式再求四个数的,可是无法运行而且好长一串的代码,并没有正确的理解老师上课所讲的函数的调用,以及形式函数等知识。

例如下面函数代码:

在13行的int x ,int y,只是一个形式参数,并没有确切的值,int gcd 只是提供一个运行公式,在输入四个数的时候,运行完输入的前两个数,得到g1,然后return(x),继续运行下两个数p、q,再看int gcds 函数第27、28行,第28行的p和q仍如x、y一样,通过调用int gcd 函数继续运行p、q,最后分别求g1、g2,再求出g1、g2的最大的公约数g,最后return(g)回到第十行,输出最后结果。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值