题目描述
小朋友们都喜欢放鞭炮,尤其是男生在春节时,什么爆竹、摔炮还有各种烟花,玩得不亦乐乎。
今年的春节,小冲就不开心了,因为他在踢足球的时候把脚给扭伤了,现在只能躺在床上听着外面的小伙伴们放鞭炮的声音发呆,他发现,有时会有几个鞭炮同时想,有时却只有一个鞭炮想。爸爸知道小冲是个信息学竞赛爱好者,于是给他出了一个问题:有3个人同时开始放鞭炮,甲每2秒放一个,乙每3秒放一个,丙每5秒放一个,每个人都放10个鞭炮,你一共能听到多少次鞭炮响声呢?
小冲觉得这个问题太简单了,他想把程序编写得能够满足更有难度的要求:一共有n个小朋友同时开始放鞭炮,每个人放鞭炮间隔的时间不同,所放的鞭炮的数量也不同,等到大家都放完自己的鞭炮,一共能听到多少次鞭炮响声呢?小冲编写这个程序当然没问题,你能编写出来吗?
输入
第一行是一个自然数:n,表示一共有n个小朋友放鞭炮;
然后往下一共有n行,每行有两个自然数,i和j,表示这个小朋友每i秒种放一个鞭炮,一共放j个。
输出
只有一个数据:所有小朋友放完鞭炮后,小冲一共听到了多少次鞭炮的响声。
样例输入 复制
3 2 5 3 5 5 4
样例输出 复制
11
数据范围限制
1<=n<=100,1<=i,j<=1000。
提示
甲小朋友放完5个,乙放完5个,丙放完4个鞭炮后,小冲一共听到了11次鞭炮的响声。
代码:
#include<bits/stdc++.h>
using namespace std;
long long a[1000001];
int main()
{
int n,s,m,x=0;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>s>>m;
for(int j=1;j<=s*m;j+=s)
{
a[j]=1;
}
}
for(int i=1;i<=1000001;i++)
{
if(a[i]==1)
{
x++;
}
}
cout<<x;
}