Description
在海军节开幕式上,有A、B、C三艘军舰要同时开始鸣放礼炮各n响。已知A舰每个a秒放一次,B舰每隔b秒放一次,C舰每隔c秒放一次。假设各炮手对时间的掌握非常准确,请编程计算观众总共可以听到几次炮声。
Input
输入n,a,b,c的值,所有输入不大于10000。
Output
输出一个整数,代表观众听到的礼炮声总数。
Sample Input
21 7 6 5
Sample Output
54
首先要看清题T T,其次,就比较好做了。
题解:
用数组,鸣炮的秒数记为0,其他为-1,最后算0的个数。
#include<stdio.h>
#include<string.h>
int num[10000000];
int main()
{
int n,a,b,c;
int i,t;
while(~scanf("%d%d%d%d",&n,&a,&b,&c))
{
int sum=0;
memset(num,-1,sizeof(num));
for(i=0;i<n;i++)
{
num[a*i]=0;
num[b*i]=0;
num[c*i]=0;
}
t=a;
if(b>t)
t=b;
if(c>t)
t=c;
for(i=0;i<n*t;i++)
{
if(!num[i])
sum++;
}
printf("%d\n",sum);
}
return 0;
}