bzoj5105: [CodePlus2017]晨跑

5105: [CodePlus2017]晨跑

Time Limit: 10 Sec  Memory Limit: 512 MB

Description

"無體育,不清華"、"天天鍛鍊一小時,健康工做五十年,幸福生活一生"在清華,體育運動絕對是同窗們生活中
不可或缺的一部分。爲了響應學校的號召,模範好學生王隊長決定堅持晨跑。不過因爲種種緣由,天天都早起去跑
步不太現實,因此王隊長決定每a天晨跑一次。換句話說,假如王隊長某天早起去跑了步,以後他會休息a-1天,然
後第a天繼續去晨跑,並以此類推。王隊長的好朋友小欽和小針深受王隊長堅持鍛鍊的鼓舞,並決定本身也要堅持
晨跑。爲了適宜本身的狀況,小欽決定每b天早起跑步一次,而小針決定每c天早起跑步一次。某天早晨,王隊長、
小欽和小針在早起跑步時相遇了,他們很是激動、相互鼓勵,共同完成了一次完美的晨跑。爲了表述方便,咱們把
三位同窗相遇的這天記爲第0天。假設三位同窗每次晨跑的時間段和路線都相同,他們想知道,下一次三人在跑步
時相遇是第幾天。因爲三位同窗都不會算,因此但願由聰明的你來告訴他們答案。

 

Input

輸入共一行,包含三個正整數a,b,c,表示王隊長每隔a天晨跑一次、小欽每隔b天晨跑一次且小針每隔c天晨跑一次。
1<=a,b,c<=10^5

 

Output

輸出共一行,包含一個正整數x,表示三位同窗下次將在第x天相遇。

 

Sample Input

2 3 5

Sample Output

30

HINT

 

來自 CodePlus 2017 11 月賽,清華大學計算機科學與技術系學生算法與競賽協會 榮譽出品。

Credit:idea/何昊天 命題/何昊天 驗題/盧政榮

Git Repo:https://git.thusaac.org/publish/CodePlus201711

本次比賽的官方網址:cp.thusaac.org

感謝騰訊公司對這次比賽的支持。

 

Source

 

Tip:ios

  這題就是求a,b,c三數的最小公倍數;git

 

Code:算法

#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);
}
相關文章
相關標籤/搜索