求两个整数m和n的最大公约数.C语言

求两个整数m和n的最大公约数。for(i=n;i>=2;i--)/*把2改成1对不对,如果是两个质数原来是不是算不出结果*/if(m%i==0&&n%i==0)break... 求两个整数m和n的最大公约数。
for(i=n;i>=2;i--) /*把2改成1对不对,如果是两个质数原来是不是算不出结果*/
if(m%i==0&&n%i==0)break;
t=i;
展开
 我来答
百度网友fc027fc
2015-05-31 · TA获得超过1.1万个赞
知道大有可为答主
回答量:3160
采纳率:83%
帮助的人:868万
展开全部
#include<stdio.h>

int gcd(int m, int n)
{
    int min=m<n ? m:m;
    int i;
    for(i=min;i>=1;i--)
    {
        if(m%i==0 && n%i==0) return i;
    }
}
int main(int argc, char* argv[])
{
    int m,n;
    while(scanf("%d%d",&m,&n)!=EOF)
    {
        printf("%d\n",gcd(m,n));
    }
    return 0;
}


for(i=n;i>=2;i--)    /*把2改成1对不对,如果是两个质数原来是不是算不出结果*/
if(m%i==0&&n%i==0)break;
t=i;

把2改成1的时候,当两个数互质的时候,i等于1时候才break出来,这是i的值是1,t=i也不错。

匿名用户
2018-03-02
展开全部
#include <stdio.h>
int main ()
{
    long long m,n,r=1;
    scanf("%ld",&m);
    scanf("%ld",&n);
    if(m<n)
    {
        r=n;
        n=m;
        m=r;
    }
    while(r!=0)
    {
        r=m%n;
        m=n;
        n=r;
    }
    printf("%ld",m);
    return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式