平分肥宅快乐水之辗转相除法

链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
 

时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 65536K,其他语言131072K
64bit IO Format: %lld

题目描述

        算法协会有三个主要部门,算法组、项目组和事务组。现在指导老师CD想为大家发福利,给每个组发若干瓶肥宅快乐水,要求各组得到的肥宅快乐水数量相同,并且各组内能够按人数平分(每人至少分一瓶)。现在Reverie统计了三个组的人数,你能帮CD老师算一下至少要准备多少瓶肥宅快乐水吗?

输入描述:

一行内给出三个正整数a,b,c(1≤a,b,c≤1000)a,b,c(1\leq a,b,c\leq1000)a,b,c(1≤a,b,c≤1000), 表示三个组的人数。

输出描述:

一行内输出一个正整数,表示CD老师要准备肥宅快乐水的最少瓶数。

示例1

输入

复制2 4 5

2 4 5

输出

复制60

60
#include<stdio.h>
#include<algorithm>
using namespace std;
int main()
{
    long long a[3],n=0,b=1,c,d,e;
    for(int i=0;i<3;i++)
    scanf("%lld",&a[i]);
    sort(a,a+3);
      n=a[1]*a[2]*a[0];
      c=a[2];d=a[1];e=a[0];
      while(a[2]%a[1]!=0)
      {
        b=a[2]%a[1];
        a[2]=a[1];
        a[1]=b;
      }
      n/=a[1];
      a[0]=e;a[1]=d;a[2]=c;
          while(a[1]%a[0]!=0)
      {
        b=a[1]%a[0];
        a[1]=a[0];
        a[0]=b;
      }
      n/=a[0];
          a[0]=e;a[1]=d;a[2]=c;
              while(a[2]%a[0]!=0)
      {
        b=a[2]%a[0];
        a[2]=a[0];
        a[0]=b;
      }
      n/=a[0];
    printf("%lld",n*3);
   retu

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值