首页 > 其他分享 >7-24 龟兔赛跑

7-24 龟兔赛跑

时间:2022-11-05 16:01:22浏览次数:51  
标签:24 赛跑 30 s2 龟兔 else time printf 乌龟

乌龟与兔子进行赛跑,跑场是一个矩型跑道,跑道边可以随地进行休息。乌龟每分钟可以前进3米,兔子每分钟前进9米;兔子嫌乌龟跑得慢,觉得肯定能跑赢乌龟,于是,每跑10分钟回头看一下乌龟,若发现自己超过乌龟,就在路边休息,每次休息30分钟,否则继续跑10分钟;而乌龟非常努力,一直跑,不休息。假定乌龟与兔子在同一起点同一时刻开始起跑,请问T分钟后乌龟和兔子谁跑得快?

输入格式:

输入在一行中给出比赛时间T(分钟)。

输出格式:

在一行中输出比赛的结果:乌龟赢输出​​@_@​​​,兔子赢输出​​^_^​​​,平局则输出​​-_-​​;后跟1空格,再输出胜利者跑完的距离。

这是我用数学方法计算的


0

10

30

40

45

50

60

80

90

兔子

0

90

90

90

135

180

180

180

270

乌龟

0

90

90

120

135

150

180

240

270

7-24 龟兔赛跑_数学方法

#include<stdio.h>
int main()
{
int m = 1, n, t, k;
scanf("%d", &t);
m = 3 * t;
n = t % 90;
k = t / 90;
if ((n > 30 && n < 45) || (n > 60 && n < 90))
printf("@_@ %d\n", m);
else if(n==30||n==45||n==60||n==0)
printf("-_- %d\n", m);
else
{
if (n < 10)
printf("^_^ %d\n", 270 * k + 9 * n);
else if (n > 10 && n < 30)
printf("^_^ %d\n", 270 * k + 90);
else if (n > 45 && n < 50)
printf("^_^ %d\n", 270 * k + 90 * (n - 30));
else
printf("^_^ %d\n", 270 * k + 180);
}
return 0;
}

缺点就是特别繁琐

后来发现了这个

for(int time=1;time<=t;time++)//利用for循环从1开始比较
{
if(time%10==0&&s2>time*3)//兔子跑完十分钟并且超过乌龟
{
time +=30;//跳过三十分钟的跑步时间
}
s2 +=9;//每分钟跑9米
}
#include<stdio.h>
int main()
{
int t=0,rest=0;
int s1=0,s2=0;
scanf("%d",&t);
s1=3*t;
for(int time=1;time<=t;time++)
{
if(time%10==0&&s2>time*3)
{
time +=30;
}
s2 +=9;
}
if(s1>s2)
printf("@_@ %d",s1);
else if(s1==s2)
printf("-_- %d",s1);
else if(s1<s2)
printf("^_^ %d",s2);
return 0;
}

简化了好多,适用范围也广


标签:24,赛跑,30,s2,龟兔,else,time,printf,乌龟
From: https://blog.51cto.com/u_15803516/5825986

相关文章

  • 2022-2023-1 20201324《信息安全系统设计与实现(上)》第12章
    1块设备I/O缓冲区文件系统使用一系列I/O缓冲区作为块设备的缓存内存。当进程试图读取(dev,blk)标识的磁盘块时,它首先在缓冲区缓存中搜索分配给磁盘块的缓冲区。如果该缓......
  • leetcode 2437
    简介简单题codeclassSolution{publicIntegercount=0;publicvoiddfs(StringBuffertime,int[]aws,intrlt,intmaxNumber){if(rlt>=m......
  • 【1024】程序员节快乐
    今天是10月24日程序员节,蚕豆哥祝所有的程序员节日快乐!(很有幸自己10年前是一名JAVA攻城师,虽然只维持了9个月<_>) 简单水一下程序员节的由来10月24日是中国版的“程序员节......
  • P2484 [SDOI2011]打地鼠 题解
    P2484[SDOI2011]打地鼠题解目录P2484[SDOI2011]打地鼠题解题目分析思路代码题目P2484[SDOI2011]打地鼠题解分析锤子每次只能将每个洞里打掉一只地鼠,所以对于每......
  • I2C学习24C64
    https://blog.csdn.net/hzb15195948039/article/details/86673431?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EESLANDIN......
  • 第五章24
    【题目描述】 一个马戏团表演, n 个座位全满,全部门票收入是 120 元,现在知道,男人每人 5 元,女人每人 2 元,小孩每人 1 角。根据总人数,计算出男人、女人和小孩各多......
  • 24. Swap Nodes in Pairs
    Givenalinkedlist,swapeverytwoadjacentnodesandreturnitshead.Forexample,Given 1->2->3->4,youshouldreturnthelistas 2->1->4->3.Youralgorith......
  • pycharm报错:RuntimeError: DataLoader worker (pid(s) 15316, 3652, 22168, 24852) ex
    解决方法有两个: 方案1:定位到d2l文件夹下的torch.py文件,找到 get_dataloader_workers() 函数:#Definedinfile:./chapter_linear-networks/image-classification-d......
  • 集成无线收发器和 8 位 RISC MCU 的 SOC 芯片CI2454/CI2451参数-遥控玩具汽车方案
    前面小编给大家介绍了一款集成无线收发器和8位RISC(精简指令集)MCU的SOC芯片-CI2454/CI2451,今天就来讲讲它的优劣势和应用方案。优势1、它拥有RISC精简指令集架构,可以......
  • day24 JDBC批处理(通用泛型查询方法 & 下划线转驼峰命名法)
    批处理publicstaticIntegeraddBatch(String[]sqls){ init(); try{ //设置关闭自动提交 conn.setAutoCommit(false); Statementstmt=conn.createState......