雨滴在心头


私信TA

用户名:ydzxt

访问量:14543

签 名:

等  级
排  名 3597
经  验 1785
参赛次数 0
文章发表 5
年  龄 0
在职情况 学生
学  校 重庆邮电大学
专  业

  自我简介:

#include<stdio.h>
int main()
{
    int a,b,i,j;//i最大公约数,j最小公倍数 
    scanf("%d %d",&a,&b);
    for (i=(a>b?a:b);i>0;i--){
        if (a%i==0&&b%i==0){
            j=a*b/i;
            printf("%d %d\n",i,j);
            break;    
        }
    }
    return 0;
}

最大公倍数值不会大于a,b最大值;

两个数都能整除它;

最小公倍数等于a*b除以最大公约。

有结果就需要返回,使用break;

 

0.0分

16 人评分

  评论区

缺少 a,b为正整数的判定。
2018-04-20 21:07:16
缺少a,b 正整数 判定。
2018-04-20 21:06:53
666
2018-03-28 13:59:45
谢谢大佬的新奇想法
2017-12-11 16:24:07
多谢大佬的新想法,简单了好多。
2017-12-11 11:23:52
最大公倍数值不会大于a,b最大值;
for (i=(a>b?a:b);i>0;i--)
改成
for (i=(a>b?b:a);i>0;i--)
减少了运行次数和时间,会不会更好点
谢谢大佬的思路
2017-11-12 11:37:38
真好
2017-11-03 16:13:39
好新奇的思路
2017-07-22 16:46:34