/*
* 程序的版权和版本声明部分
* Copyright (c)2012, 烟台大学计算机学院学生
* All rightsreserved.
* 文件名称: fun.cpp
* 作 者: 王 飞
* 完成日期:2012 年11 月14 日
* 版本号: v1.0
* 对任务及求解方法的描述部分 : 继续变换做法
* 输入描述: 略
* 问题描述: 略
* 程序输出: 略
*/
#include <iostream>
using namespace std;
int gcd(int x,int y);
int gcds(int a,int b,int c,int d);
int main(){
int a,b,c,d;
cout<<"请输入四个数来求最大公约数:"<<endl;
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 a,int b,int c,int d)
{
return gcd(a,gcd(b,gcd(c,d)));
}
输出结果:
心得体会:算法很多种,自己体会!