#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;

点赞(194)
 

0.0分

16 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 68 条评论

毛林甫 6年前 回复TA
真的厉害  佩服
18软件白浩彤 6年前 回复TA
编的真好
啊凯 6年前 回复TA
@风吹裤裆 这里应该是大佬写错了,手误。大佬的想法是找出更小的,然后再去找最小公倍数,会更节约时间。
Mr东西 6年前 回复TA
有帮助,谢谢。
MLZF 6年前 回复TA
6666
Christ 6年前 回复TA
@DoctorWho 有这个想法还是不错。但请你注意读题,按照题目要求,输入的一定是正整数。
Christ 6年前 回复TA
@DoctorWho @mokou 负整数有
寡人有疾 6年前 回复TA
@风吹裤裆 一样成立,为啥不成立
凯风快晴 6年前 回复TA
@DoctorWho ab不是正整数何谈公约公倍数
DoctorWho 6年前 回复TA
缺少 a,b为正整数的判定。