用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - c代码库

最大公约数,最小公倍数(函数)

2020-03-21 作者:不吃鱼举报

[c]代码库

int gcd(int a, int b)//最大公约数
{
    int i, div = 1;
    for(i = 1; i<=a/2 && i<=b/2;i++){//小的结束即为结束
        if(a%i==0 && b%i==0){//共同的约数
            div = i;
        }
    }
    return div;
}

int lcm(int a, int b){//最小公倍数
    int i, j, m1=a, m2=b;
    i = 2;
    j = 2;
    if(a>b && a%b==0)//可以整除的话,大的为最小公倍数
        return a;
    if(a<b && b%a==0)
        return b;

    while(m1 != m2){   //从2开始乘原数,比较大小,小的将乘数i加一,大的不变,直到相等。
        if(m1 < m2){
            m1 = a*i;
            i++;
        }
        else{
            m2 = b*j;
            j++;
        }
        printf("%d %d\n", m1, m2);
    }
    return m1;
}

int main(){
   int gcd(int a, int b);
   int lcm(int a, int b);
   int a, b, div, mul, c, d;
   scanf("%d%d", &a, &b);
   scanf("%d%d", &c, &d);
   div = gcd(a, b);
   mul = lcm(c, d);
   printf("greatest common divisor:%d\n", div);
   printf("least common multiple:%d\n", mul);
   return 0;
}



分享到:
更多

网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。