[PTA]7-22 龟兔赛跑(20分)
C语言的龟兔赛跑问题,用的办法比较笨,逻辑应该还算清晰。
#include <stdio.h>
int main()
{
int RabbitDistance,T,time=0;//time在这里计数,以10位单位,每10分钟检查一次龟兔的距离。
scanf("%d",&T);
if(T <= 10){
printf("^_^ %d",9*T);//输入T小于10的情况,兔子直接赢,跑过距离T*9
}else{
RabbitDistance=90,time=10;
while(time <= T-30){
if(RabbitDistance > 3*time){
time+=30;
}else{
RabbitDistance+=90;
time+=10;
}
}//t从0开始,每过10分钟判定一次距离长短,兔子大于乌龟,则t+30(休息三十分钟),否则t+10,兔子在10分钟内跑90,循环在t<=T-30内进行。
if((T-time)>=0 && (T-time)<10){
if(RabbitDistance<=3*time){
RabbitDistance+=(T-time)*9;
}
}else if((T-time)>=10 && (T-time)<20){
if(RabbitDistance <= 3*time){
RabbitDistance += 90;
ti