题目描述
小明和小李同时参加了射击比赛,比赛规则是这样的,每次两人同时射击,每个人有 S 枚子弹进行射击,第1秒两人同时打出第一枚子弹,以后的 s−1 子弹可以自己根据一定的间隔时间打出,设小明后面的子弹每隔 t1 秒打出一枚子弹,小李后面的子弹每隔 t2 秒打出一枚子弹,如t1=2 时,则后面子弹打出的时刻分别为 1,4,7,10,13... 。如果某一时刻两人同时打出子弹,则只能听到一次响声,现在要你统计这两个人的比赛中共能听到几次枪声。
输入格式
一行,三个整数,分别表示:S,t1和 t2 。
输出格式
一个整数,表示能听到的枪声的次数。
样例数据
输入样例 #1 | 输出样例 #1 |
---|---|
5 2 3 | 8 |
样例分析
如上所述。
数据范围
对于 100% 的数据,1≤S<100,1≤t1≤20,1≤t2≤20
解题:
#include<bits/stdc++.h>
using namespace std;
int s,t1,t2,k;
bool a[3000];
int main(){
scanf("%d %d %d",&s,&t1,&t2);
a[1]=1;
for(int i=1;i<=s-1;i++){
a[i*t1+i]=true;
a[i*t2+i]=true;
}
for(int i=1;i<=3000;i++){
if(a[i])k++;
}
printf("%d",k);
return 0;
}