问题及代码:
/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:陈旭
* 完成日期:2014年 11 月 6 日
* 版 本 号:v1.0
*
* 问题描述: 输入四个数,并求出其最大公约数
* 输入描述: 四个整数
* 程序输出: 对应的其最大公约数
*/
#include <iostream>
using namespace std;
int gcd(int x,int y,int i,int j);
int main()
{
int a,b,c,d,g;
cin>>a>>b>>c>>d;
g=gcd(a,b,c,d);
cout<<"最大公约数是: "<<g;
return 0;
}
int gcd(int x,int y,int i,int j)
{
int m,n,o;
while (y>0)
{
m=x%y;
x=y;
y=m;
}
while (j>0)
{
n=i%j;
i=j;
j=n;
}
while (i>0)
{
o=x%i;
x=i;
i=o;
}
return x;
}
运行结果:
知识点总结:
通过这个程序的编写,让我们可以把简单的两个数公约数的求法拓展运用,使更方便,更有利于以后对各种复杂程序的运用与设计。
学习心得:
天啊,一开始写这个程序时,总是运行出来结果是0,后来发现就是好多字母的那个后面老是把字母弄混,到底哪个运行出来是0,哪个是最后结果,可能就是最后一个return-后面字母弄错啦就老是导致不对,这也让我纠结了好久,下次一定得注意。