Comrade Dujikov is busy choosing artists for Timofey's birthday and is recieving calls from Taymyr from Ilia-alpinist.
Ilia-alpinist calls every n minutes, i.e. in minutes n, 2n, 3n and so on. Artists come to the comrade every m minutes, i.e. in minutes m, 2m, 3m and so on. The day is z minutes long, i.e. the day consists of minutes 1,?2,?...,?z. How many artists should be killed so that there are no artists in the room when Ilia calls? Consider that a call and a talk with an artist take exactly one minute.
InputThe only string contains three integers — n, m and z (1?≤?n,?m,?z?≤?104).
OutputPRint single integer — the minimum number of artists that should be killed so that there are no artists in the room when Ilia calls.
ExampleInput1 1 10Output10Input1 2 5Output2Input2 3 9Output1NoteTaymyr is a place in the north of Russia.
In the first test the artists come each minute, as well as the calls, so we need to kill all of them.
In the second test we need to kill artists which come on the second and the fourth minutes.
In the third test — only the artist which comes on the sixth minute.
題目大意:設一天有z分鐘,每隔n分鐘需要接一次電話,每隔m分鐘有一個藝術家拜訪,每次電話一分鐘,問需要除掉幾個藝術家,才能接電話不受打擾。
題目分析:因為數據較小,直接開個數組記錄在某一分鐘是否接電話,然后遍歷數組,是否剛好在藝術家接電話的時候。ans累增。
#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#include <cmath>using namespace std;int const maxn = 10005;int a[maxn];int main(){ int n,m,z; while((scanf("%d%d%d",&n,&m,&z))!=EOF){ memset(a,0,sizeof(a)); int ans=0; for(int i=n;i<=z;i=i+n) a[i]=1; for(int i=m;i<=z;i=i+m){ if(a[i]==1) ans++; } printf("%d/n",ans); } return 0;}
新聞熱點
疑難解答