标题:用辗转相除法求出两个正整数m和n的最大公约数和最小公倍数
只看楼主
day502847112
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2009-10-29
结帖率:50%
已结贴  问题点数:2 回复次数:3 
用辗转相除法求出两个正整数m和n的最大公约数和最小公倍数
用辗转相除法求出两个正整数m和n的最大公约数和最小公倍数
搜索更多相关主题的帖子: 辗转 最小公倍数 最大公约数 整数 除法 
2009-11-04 21:06
wsckt
Rank: 2
来 自:java风暴
等 级:论坛游民
帖 子:44
专家分:75
注 册:2009-10-20
得分:0 
main()    {
        printf("input m and n:");
        scanf("%d,%d",&m,&n);    //赋值m,n
        if(n<m)        {    //把大的数放在在n中
            int temp = n;
            n = m;
            m = temp;
        }
        int p =n*m;   
        while(m!=0)    {    辗转相除法
            int r = n % m;
            n = m;
            m = r;
        }
        printf("最大公约数为:%d" + n);
        printf("最小公倍数为:%d" + p/n);
               
    }


喜欢灰太狼,喜欢它永不言败的精神!
喜欢java,喜欢它不需要理由!
2009-11-04 21:53
陈大师
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:231
专家分:1038
注 册:2009-11-4
得分:0 
楼上的有些小错误 ····在下改了一下··试试“注意输入两个数时,中间用逗号隔开!!!”
#include<stdio.h>
main()   
 {
    int m,n,r;
        printf("input m and n:");
        scanf("%d,%d",&m,&n);    //赋值m,n
        if(n<m)       //把大的数放在在n中
        {   
            int temp = n;
            n = m;
            m = temp;
        }
        int p =n*m;   
        while(r!=0)   
        {   
             r = n % m;
            n = m;
            m = r;
        }
        printf("最大公约数为:%d" , n);
        printf("最小公倍数为:%d" , p/n);
               
    }
2009-11-04 22:22
lijm1989
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:珠海
等 级:贵宾
威 望:12
帖 子:675
专家分:2844
注 册:2009-10-14
得分:0 
大师真Hu````,不是输出么???害得我在输入那看了那么久···嘿嘿···
2009-11-04 22:47



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-291048-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.089487 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved