"無體育,不清華"、"天天鍛鍊一小時,健康工做五十年,幸福生活一生"在清華,體育運動絕對是同窗們生活中
不可或缺的一部分。爲了響應學校的號召,模範好學生王隊長決定堅持晨跑。不過因爲種種緣由,天天都早起去跑
步不太現實,因此王隊長決定每a天晨跑一次。換句話說,假如王隊長某天早起去跑了步,以後他會休息a-1天,然
後第a天繼續去晨跑,並以此類推。王隊長的好朋友小欽和小針深受王隊長堅持鍛鍊的鼓舞,並決定本身也要堅持
晨跑。爲了適宜本身的狀況,小欽決定每b天早起跑步一次,而小針決定每c天早起跑步一次。某天早晨,王隊長、
小欽和小針在早起跑步時相遇了,他們很是激動、相互鼓勵,共同完成了一次完美的晨跑。爲了表述方便,咱們把
三位同窗相遇的這天記爲第0天。假設三位同窗每次晨跑的時間段和路線都相同,他們想知道,下一次三人在跑步
時相遇是第幾天。因爲三位同窗都不會算,因此但願由聰明的你來告訴他們答案。
輸入共一行,包含三個正整數a,b,c,表示王隊長每隔a天晨跑一次、小欽每隔b天晨跑一次且小針每隔c天晨跑一次。
1<=a,b,c<=10^5
輸出共一行,包含一個正整數x,表示三位同窗下次將在第x天相遇。
來自 CodePlus 2017 11 月賽,清華大學計算機科學與技術系學生算法與競賽協會 榮譽出品。
Credit:idea/何昊天 命題/何昊天 驗題/盧政榮
Git Repo:https://git.thusaac.org/publish/CodePlus201711
本次比賽的官方網址:cp.thusaac.org
感謝騰訊公司對這次比賽的支持。
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
using namespace std;
long long a,b,c;
long long gcd(long long aa,long long bb){
if(bb==0) return aa; else return gcd(bb,aa%bb);
}
int main(){
scanf("%lld%lld%lld",&a,&b,&c);
long long x=gcd(a,b);
long long res=a/x*b;
x=gcd(res,c);
long long ans=res/x*c;
printf("%lld",ans);
}