问题及代码:
/*
*Copyright(c) 2014 烟台大学计算机学院
*All rights reserved.
*文件名称:test.cpp
*作者:尚 月
*完成日期:2014年 11 月 10 日
*版本号:V1.0
*
*问题描述:输入四个数,求它们的最大公约数
*程序输出:输出最大公约数
*/
#include <iostream>
using namespace std;
int gcds(int x,int y,int z,int w);
int main()
{
int a,b,c,d,g;
cin>>a>>b>>c>>d;
g=gcds(a,b,c,d);
cout<<"最大公约数是:"<<g;
return 0;
}
int gcds(int x,int y,int z,int w)
{
int g1,g2,g3,r1,r2,r3;
while (y!=0)
{
r1=x%y;
x=y;;
y=r1;
}
g1=x;
while (w!=0)
{
r2=z%w;
z=w;
w=r2;
}
g2=z;
while (g2!=0)
{
r3=g1%g2;
g1=g2;
g2=r3;
}
g3=g1;
return (g1);
}
运行结果:
5 15 25 35
最大公约数是:5