S.K.Y


私信TA

用户名:uq_21395539528

访问量:374

签 名:

等  级
排  名 14997
经  验 807
参赛次数 0
文章发表 7
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

解题思路:首先找出两个数字的大小并将其分开赋值给相应的变量,以便区分大小;两个数最大公约数的范围在 1-最小值 之间;两个数最小公倍数的范围在 最大值-最小值*最大值 之间;
注意事项:

参考代码:

#include <stdio.h>

int main() {
    int a,b,max_gy,min_gb;  //
    scanf("%d %d",&a,&b);
    // 求最大公约数
    int max = a>b?a:b;  // 首先找出两个数字的大小并将其分开赋值给相应的变量,以便区分大小
    int min = a<b?a:b;
    for (int i = 1; i <= min; ++i) {         // 两个数最大公约数的范围在 1-最小值 之间
        if((max % i == 0) && (min % i) == 0)
            max_gy = i;                     // 不断在范围内寻找,直到找到最大公约数
    }
    printf("%d ",max_gy);

    // 求最小公倍数
    for (int j = max; j <= (min*max) ; ++j) {  // 两个数最小公倍数的范围在 最大值-最小值*最大值 之间
        if((j % min == 0) && (j % max == 0)){
            min_gb = j;
            break;                              // 最小公倍数,即找到之后就break退出循环
        }
    }
    printf("%d",min_gb);
}


 

0.0分

2 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区