那兔


私信TA

用户名:uq_88407825726

访问量:230

签 名:

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

  自我简介:

解题思路:首先把三个数分成两份计算  最小公约数求法可以取余运算%,用较的大数对较的小数取余,如果两个原数都可以整除取余的结果,则取余的结果就是他们两个的最大公约数,如果不能整除,则把取余结果两个在重复取余当然大数要在前直到求出最大公约数。

注意事项: 有两种特殊的情况 1.没有公约数,2.两数成倍数关系。

参考代码:

#include <stdio.h>


int gongyu(int x ,int y){

    int a=x;

    int b=y;

    while(1){

        if(a<b){

            int t=a;

            a=b;

            b=t;

        }

        a = a%b;

        if(a==1){

            return x*y;

        }

        if(a==0){

            int t=x;

            if(x<y){

                t=y;

            }

            return t;

        }

        if(x%a==0&&y%a==0) {

            return x*y/a;

        }

    }

}


int main(){

    int a,b,c;

    scanf("%d%d%d",&a,&b,&c);

    printf("%d",gongyu(gongyu(a,b),c));


 

0.0分

0 人评分

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

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区