Problem M. S06-21 鸣放礼炮(有意思、初学简单版)

在海军节的开幕式上,有A、B、C三艘军舰要同时开始鸣放礼炮各21响。已知A舰每隔5秒放一次,B舰每隔6秒放一次,C舰每隔7秒放一次。假设各炮手对时间的掌握非常准确,请编程计算观众总共可以听到几次礼炮声。

输入

输出

一个整型数,对应观众能听到的炮声数

个人解题思路:
理论上有63次礼炮声,但两舰同时鸣炮这种情况只算听到一次礼炮声,所以要减去1次(三舰同时鸣炮这种情况不存在,因为   5、6、7的公倍数为210超出了A舰鸣放第21响的时间——105秒)

#include <iostream>
using namespace std;
int main() 
{
	int d=0;
	for(int a=1; a<=21; a++) 
	{
		for(int b=1; b<=21; b++) 
		{
			if(a*5==b*6) 
			{
				d++;
			}
		}
	}
	
	for(int b=1; b<=21; b++) 
	{
		for(int c=1; c<=21; c++) 
		{
			if(b*6==c*7) 
			{
				d++;
			}
		}
	}
	
	for(int a=1; a<=21; a++) 
	{
		for(int c =1; c<=21; c++) 
		{
			if(a*5==c*7) 
			{
				d++;
			}
		}
	}
	int total=0;
	total=63-d;
	cout<<total;
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值