蓝桥杯(java)基础练习 龟兔赛跑

问题描述
话说这个世界上有各种各样的兔子和乌龟,但是研究发现,所有的兔子和乌龟都有一个共同的特点——喜欢赛跑。于是世界上各个角落都不断在发生着乌龟和兔子的比赛,小华对此很感兴趣,于是决定研究不同兔子和乌龟的赛跑。他发现,兔子虽然跑比乌龟快,但它们有众所周知的毛病——骄傲且懒惰,于是在与乌龟的比赛中,一旦任一秒结束后兔子发现自己领先t米或以上,它们就会停下来休息s秒。对于不同的兔子,t,s的数值是不同的,但是所有的乌龟却是一致——它们不到终点决不停止。
  然而有些比赛相当漫长,全程观看会耗费大量时间,而小华发现只要在每场比赛开始后记录下兔子和乌龟的数据——兔子的速度v1(表示每秒兔子能跑v1米),乌龟的速度v2,以及兔子对应的t,s值,以及赛道的长度l——就能预测出比赛的结果。但是小华很懒,不想通过手工计算推测出比赛的结果,于是他找到了你——清华大学计算机系的高才生——请求帮助,请你写一个程序,对于输入的一场比赛的数据v1,v2,t,s,l,预测该场比赛的结果。
输入格式
输入只有一行,包含用空格隔开的五个正整数v1,v2,t,s,l,其中(v1,v2<=100;t<=300;s<=10;l<=10000且为v1,v2的公倍数)
输出格式
输出包含两行,第一行输出比赛结果——一个大写字母“T”或“R”或“D”,分别表示乌龟获胜,兔子获胜,或者两者同时到达终点。
  第二行输出一个正整数,表示获胜者(或者双方同时)到达终点所耗费的时间(秒数)。
样例输入
10 5 5 2 20
样例输出
D
4
样例输入
10 5 5 1 20
样例输出
R
3
样例输入
10 5 5 3 20
样例输出
T
4

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner key = new Scanner(System.in);int v1 = key.nextInt();int v2 = key.nextInt();int t = key.nextInt();int s = key.nextInt();int l = key.nextInt();int t2 , t1 , s1 , s2 ;t1 = 1;t2 = 1;s1 = v1;s2 = v2;a: while (true) {  //记录循环标记if (s1 == s2 && s1 == l) {System.out.println("D" + "\n" + t1);break;}if (s1 == l) {System.out.println("R" + "\n" + t1);break;}if (s2 == l) {System.out.println("T" + "\n" + t2);break;}if (s1 - s2 >= t) {t1 += s;   //兔子的时间增加,但是距离不变for (int i = 1; i <= s; i++) {t2++;s2 += v2;if (s2 >= l) {System.out.println("T" + "\n" + t2);break a;//退出两层循环(即退出while循环)}}} else{t1 += 1;t2 += 1;s1 += v1;s2 += v2;}}}
}


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/569528.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

$.ajax的标准写法

var baseurl "http://" //后台的url $.ajax({ url:baseurl"后台的接口", //请求的url地址 dataType:"json", //返回格式为json async:true,//请求是否异步&#xff0c;默认为异步&#xff0c;这也是ajax重要特性 data:{ //这里是…

(软件项目管理)项目会议纪要模板

备注&#xff1a; 七: 1、报送&#xff1a;把整理好的会议的内容报给上级的相关部门。2、主送&#xff1a;把整理好的会议的内容发放给下级相关部门。3、抄送&#xff1a;把整理好的会议的内容送给相关的同级单位或不相隶属的单位。

(软件测试)代码覆盖(语句覆盖,分支覆盖,条件覆盖,条件组合覆盖,路径覆盖)

一、概念 语句覆盖/代码行覆盖&#xff1a;目标☞保证程序中每一条语句最少执行一次&#xff0c;其覆盖标准无法发现判定中逻辑运算的错误&#xff1b; 判定覆盖/分支覆盖&#xff1a;是指选择足够的测试用例&#xff0c;使得运行这些测试用例时&#xff0c;每个判定的所有可能…

js 字符串,数组扩展

console.log(Array.prototype.sort)//ƒ substring() { [native code] }console.log(String.prototype.substring)//字符串扩展String.prototype.addstring function(){return this字符串扩展}console.log(ff.addstring())//ff字符串扩展转载于:https://www.cnblogs.com/whlBo…

DecimalFormat 用法

DecimalFormat含义用法 ①DecimalFormat 是 NumberFormat 的一个具体子类&#xff0c;用于格式化十进制数字。 ②该类设计有各种功能&#xff0c;使其能够分析和格式化任意语言环境中的数&#xff0c;包括对西方语言、阿拉伯语和印度语数字的支持。它还支持不同类型的数&#x…

EVE-NG安装步骤

首先&#xff0c;需要EVE-NG客户端工具包 1、 1.1部分图 点击next 2、 保持默认全选&#xff0c;点击next 3、 点击install 4、选择I accept the agreement&#xff0c;点击next 5、下一步&#xff0c;继续点击next 6、选定安装位置&#xff0c;不清楚就默认C盘&#x…

第三次实验

Part1: 验证性内容 在循环中使用控制语句continue和break&#xff0c; 其功能区别是什么&#xff1f; continue是停止当前语句的执行&#xff0c;回到第一条语句继续执行&#xff0c;而break是直接结束循环。 在两层嵌套循环中&#xff0c;内层循环中如果出现continue&#xf…

vim命令杂烩(复制粘贴、建文件、撤销等)

vim 有底线命令&#xff0c;插入&#xff0c;命令方式&#xff0c;在进行复制、撤销等操作时&#xff0c;文件应处于命令方式&#xff0c; 若处于编辑模式&#xff0c;可点击ESC&#xff0c;再进行操作 一、撤销 点击 u , 撤销上一步 二、粘贴 p 三、复制 yy复制游标所…

vim三种模式

看到这个文章&#xff0c;觉得讲得很好 Vim和Vi一样具有三种模式&#xff1a;命令模式&#xff08;Command mode&#xff09;&#xff0c;插入模式&#xff08;Insert mode&#xff09;和底线命令模式&#xff08;Last line mode&#xff09;。 当用户处于不同模式的时候&…

print的小白用法

print的用法 print函数概述&#xff1a;print() 方法用于打印输出&#xff0c;是python中最常见的一个函数。 参数如下所示&#xff1a;print(*objects, sep , end\n, filesys.stdout) 参数的具体含义如下&#xff1a; objects --表示输出的对象。输出多个对象时&#xff0c;需…

Linux shell 中$() ` `,${},$[] $(()),[ ] (( )) [[ ]]作用与区别

看到几篇博客&#xff0c;觉得写的不错 原文&#xff1a;https://blog.csdn.net/x1269778817/article/details/46535729 和http://blog.zol.com.cn/2322/article_2321763.html $()和 &#xff1a; 在 bash shell 中&#xff0c;$( ) 与 (反引号) 都是用来做命令替换用(c…

[转]动态规划DP的分类

链接地址&#xff1a;http://www.cnblogs.com/Renyi-Fan/p/9285495.html 转载于:https://www.cnblogs.com/zifeiy/p/10716445.html

Shell脚本中的特殊字符(美元符、反斜杠、引号等)作用介绍

Shell中的特殊字符有 1、$ 美元符 2、\ 反斜杠 3、 反引号 4、" 双引号 5、< ,>;,*,?,[,] 下面我一一举列说明 一、$符号 1、echo $? 显示的是上一条指令退出状态 2、echo "$?" 效果同上 3、echo $? 显示的是$? 4、echo \$? 显示的是$?…

WPF编程,将控件所呈现的内容保存成图像的一种方法。

WPF编程&#xff0c;将控件所呈现的内容保存成图像的一种方法。 原文:WPF编程&#xff0c;将控件所呈现的内容保存成图像的一种方法。版权声明&#xff1a;我不生产代码&#xff0c;我只是代码的搬运工。 https://blog.csdn.net/qq_43307934/article/details/87278138 实现只对…

Linux shell脚本中shift的用法说明

原文&#xff1a;https://blog.csdn.net/zhu_xun/article/details/24796235 shift命令用于对参数的移动(左移)&#xff0c;通常用于在不知道传入参数个数的情况下依次遍历每个参数然后进行相应处理&#xff08;常见于Linux中各种程序的启动脚本&#xff09;。 示例1:依次读取…

$0,$#,$@,$+特殊符号的含义,shell的传递参数

$n。n 代表一个数字&#xff0c;1 为执行脚本的第一个参数&#xff0c;2 为执行脚本的第二个参数&#xff0c;以此类推……$0 为执行的文件名 echo "执行的文件名&#xff1a;$0"; echo "第一个参数为&#xff1a;$1"; echo "第二个参数为&#xff1a…

二维数组(声明以及遍历)

首先图面理解二维数组&#xff08;数组里面的元素不是字符或者数字类型而是另外一个数组&#xff09;! 一&#xff0c;二维数组的声明 int[ ] [ ] arr; 初始化一个能存3个一维数组的二维数组 arr new int [3] [ ]; (此时只声明了一个二维数组的空间&#xff0c;并没有声明一维…

linux shell中的eval命令

语法&#xff1a;eval cmdLine eval会对后面的cmdLine进行两遍扫描&#xff0c;如果第一遍扫描后&#xff0c;cmdLine是个普通命令&#xff0c;则执行此命令&#xff1b;如果cmdLine中含有变量的间接引用&#xff0c;则保证间接引用的语义。 举例如下&#xff1a; set 11 22 …

MyBatis映射文件1(增删改、insert获取自增主键值)

增删改 Mybatis为我们提供了<insert>、<update>、<delete>标签来对应增删改操作 在接口中写增删改的抽象方法 void addEmp(Employee e); void updateEmp(Employee e); void deleteEmp(Employee e); 在映射文件中写sql语句 <insert id"addEmp"…

shell中各种括号()、(())、[]、[[]]、{}的作用

转自&#xff1a;http://blog.csdn.net/ztf312/article/details/52317571 技巧小结&#xff1a; 字符串比较用双中括号[[ ]]&#xff1b;算数比较用单中括号[ ]——左右留空格 算数运算用双小括号(( )) &#xff1b;shell命令及输出用小括号( )——左右不留空格 快速替换用…