JZOJ::【WJOI】TT的立方体

题目描述
  在积木星球上,所有的楼房都是活的。积木星球的国王TT是世界上最伟大的建筑师。也只有他,才配得上做积木星球的国王。积木星球上全都是散落的巨大积木,这是天然的好建筑材料,TT拥有最聪明的头脑和最灵巧的双手。他搭建起尖顶红砖的房子,搭建起300层高的房子,搭建起五角星形的房子,搭建起水晶般透明的房子。
  有一天,TT想利用的无数块长宽高分别为a,b,h的长方体积木,搭建一个正方体,当然中间不能有缝隙,要不然就不牢固了。他的问题是,搭出的正方体棱长最少是多少?
输入
三个整数:a, b, h。
输出
一个整数:正方体最短的棱长,数据保证答案<263。
样例
输入 复制
3 2 4
输出 复制
12
提示
样例解释:
所有的积木长是3,宽是2,高是4。可以一排摆4个,摆6排,摆3层,这样搭出的正方体棱长是12。
数据范围:
40%的数据:1<=a,b,h<=200。
100%的数据:1<=a,b,h<=2*109。

#include<bits/stdc++.h>
using namespace std;
int lcm(int x,int y)
{
     if(x*y==0)
        return 0;
      int max = a > b ? a : b ;
      while(1)
      {
          if(max%a==0 && max%b==0)
              break;
          max--;
      }
      return max;
}
int main(){
      int a,b,h;
      cin>>a>>b>>h;
      cout<<lcm(lcm(a,b),h);
      return 0;
}