/*
*Copyright (c) 2014 ,烟台大学计算机学院
*All right reserved.
*文件名称:求最大公约数.cpp
*作 者:王伟诚
*完成日期:2014年11月06日
*版 本 号:1.0
*
*问题描述:求最大公约数
*问题输出:两数最大公约数
*/
#include <iostream>
using namespace std;
int gcd(int x,int y);
int main()
{
int a,b,g;
cin>>a>>b;
g=gcd(a,b);
cout<<"最大公约数是:"<<g;
return 0;}
int gcd(int x,int y)
{
int r;
while(y!=0)
{
r=x%y;
x=y;
y=r;
}
return x;
}
以上是求两个数的最大公约数,下面是求4个数的最大公约数。
#include <iostream>
using namespace std;
int gcd(int x,int y,int m,int n);
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 m,int n)
{
int r,w,t;
while(y!=0)
{
r=x%y;
x=y;
y=r;
}
while(n!=0)
{
w=m%n;
m=n;
n=w;
}
while(m!=0)
{
t=x%m;
x=m;
m=t;
}
return x;
}