PAT-JAVA-5-22 龟兔赛跑 (20分)
2016-05-09 13:28
288 查看
乌龟与兔子进行赛跑,跑场是一个矩型跑道,跑道边可以随地进行休息。乌龟每分钟可以前进3米,兔子每分钟前进9米;兔子嫌乌龟跑得慢,觉得肯定能跑赢乌龟,于是,每跑10分钟回头看一下乌龟,若发现自己超过乌龟,就在路边休息,每次休息30分钟,否则继续跑10分钟;而乌龟非常努力,一直跑,不休息。假定乌龟与兔子在同一起点同一时刻开始起跑,请问T分钟后乌龟和兔子谁跑得快?
输入在一行中给出比赛时间T(分钟)。
在一行中输出比赛的结果:乌龟赢输出
输入格式:
输入在一行中给出比赛时间T(分钟)。
输出格式:
在一行中输出比赛的结果:乌龟赢输出@_@,兔子赢输出
^_^,平局则输出
-_-;后跟1空格,再输出胜利者跑完的距离。
输入样例:
242
输出样例:
@_@ 726
import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int t = 0 ,g = 0; //t为兔子跑的距离 g为龟跑的距离 int T = sc.nextInt(); //输入时间 //一共有4中情况 当时间>0 时循环以下4个 // 1. 兔在龟后 (包括距离相等) 时间>10min 兔距离+90 龟距离+30 时间-10; // 2. 兔在龟后 (包括距离相等) 时间<10min 兔距离+9*T 龟距离+3*T 时间=0; // 3. 兔在龟前 时间>=30min 兔距离+0 龟距离+90 时间-30; // 4. 兔在龟前 时间<30min 兔距离+0 龟距离+3*T 时间=0; if(T>10){ while(T>0){ if(t<=g&&T>=10){ t+=90; g+=30; T-=10; } else if(t>g&&T>=30){ t+=0; g+=90; T-=30; } else if(t<=g&&T<10){ t+=9*T; g+=3*T; T =0; } else if(t>g&&T<30){ t+=0; g+=3*T; T=0; } } //结果的输出 if(t<g){ System.out.println("@_@ "+g); } else if(t>g){ System.out.println("^_^ "+t); } else{ System.out.println("-_- "+t); } } else if(T==0){ //时间等于0单独进行处理 System.out.println("-_- "+t); } else if(T>0&&T<=10){ //时间小于10分钟的时候也单独处理 System.out.println("^_^ "+9*T); } } }
相关文章推荐
- Spring定时器的两种实现方式
- Java 实现图片水印之文字水印(SpringMVC + Jsp)
- eclipse中修改JDK版本
- eclipse开发配置热部署jrebel
- 160509、Java过滤器与SpringMVC拦截器之间的关系与区别
- java基本排序算法总结 (二)——快速排序法
- Eclipse下使用Maven搭建SpringMVC项目
- 《java入门第一季》之类(String类常见方法小叙)
- PAT - JAVA-5-18 二分法求多项式单根 (20分)
- 《java入门第一季》之类(String类常见方法小叙)
- 20145220java程序设计第九周学习总结
- 《java入门》第一季之类(String类字符串一旦被赋值就没法改变)
- 《java入门》第一季之类(String类字符串一旦被赋值就没法改变)
- 160506、Spring mvc新手入门(11)-返回json 字符串的其他方式
- Java IO的RandomAccessFile的使用
- eclipse导入JDK源码
- Java中二进制、十进制、十六进制及ASCII码与String及字节数组与十六进制之间的转换
- 【Spring】SpringMVC整合JPA
- 重新学javaweb---过滤器应用--30天自动登录
- Java开发Spark程序