codeup22556 军事演习

codeup22556  军事演习

时空限制    1000ms/128MB

题目描述

        小明的知识面很广,喜欢阅读各种书籍,尤其是军事科普读物,一有时间就和其他同学争论起哪一种武器更先进更厉害。爸爸鼓励小明不仅仅要看外在的东西,更要研究内在的战略和技术,于是给他买了一本《军事小科普》。小明今天看到军事演习这节,被一个问题吸引住了:
        某军区开展军事演习,红军指挥部接到紧急电报:负责向蓝军据守的13号高地发起进攻的A队数次冲锋之后,还没有拿下目标,且损失较大,需要支援。于是红军马上调集靠近13号高地的C、D两只队伍前去支援。C、D两队打算会师之后再开往A队驻地,已知C、D两队相距S公里,C队行进速度为Vc公里/小时,D队为Vd公里/小时,C、D两队同时出发进行会师。另有一名通讯员骑摩托车从C队驻地与C队一起出发,一遇到D队马上折回驶向C队,以此类推,每遇一队立即折回驶向另一队,为行进中的两队传递信息。摩托车的速度为Vm公里/小时。当两队距离小于等于0.8公里时,摩托车停下来不再传递信息。输入S、Vc、Vd、Vm的值,计算通讯员一共跑了多少趟(从一队驶向另一队为一趟)。
        请你编写程序帮助小明解决这个问题。

输入

        输入文件共有4行:
        第1行为C、D两队相距的距离S(50<=S<=100);
        第2行为C队行进速度Vc(5<=Vc<=10);
        第3行为D队行进速度Vd(4<=Vd<=8);
        第4行为摩托车的速度Vm(30<=Vm<=60)。

输出

        输出文件只有一个数:通讯员一共跑的趟数。

样例输入

100
5
4
60

样例输出

33

代码

#include<iostream>
using namespace std;

int main(){
	double s,vc,vd,vm,sj;
	cin>>s>>vc>>vd>>vm;
	int ans=0;
	while (s>0.8){
		++ans;
		if (ans%2) sj=s/(vm+vd);
		else sj=s/(vm+vc);
		s -= (vc+vd)*sj;
	}
	cout<<ans<<endl;
	return 0;
}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值