最大公约数

最大公约数

时间: 1ms        内存:128M

描述:

输入两个数,并求出其最大公约数

输入:

两个正整数

输出:

两个正整数的最大公约数

示例输入:

36 80

示例输出:

4

提示:

参考答案(内存最优[920]):

#include <stdio.h>
int main()
{
    int m,n,i,z,max1=1,mm,x;
    scanf("%d%d",&m,&n);
    mm=m<n?m:n;
    for(i=1;i<mm;i++)
    {
        z=m%i;
        x=n%i;
        if(max1<i&&z==0&&x==0)max1=i;
    }
    printf("%d",max1);
    return 0;
}

参考答案(时间最优[0]):

#include <iostream>
using namespace std;
//自定义函数的原型(即函数声明)
int gcd(int,int);
int main()
{
    int a,b,g;
    cin>>a>>b;
    g=gcd(a,b);
    cout<<g<<endl;
    return 0;
}

int gcd(int x,int y) //用辗转相除法,求两数的最大公约数
{
    int r;
    while(y>0)
    {
        r=x%y;
        x=y;
        y=r;
    }
    return x;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注