当前位置: 首页 > news >正文

编程题 7-22 龟兔赛跑【PAT】

文章目录

  • 题目
    • 输入格式
    • 输出格式
    • 输入样例
    • 输出样例
  • 题解
    • 解题思路
    • 完整代码

编程练习题目集目录

题目

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

输入格式

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

输出格式

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

输入样例

242

输出样例

@_@ 726

题解

解题思路

  首先输入总时间,然后开始 f o r for for 循环,根据题意判断,乌龟一直在跑,每分钟跑 3 3 3 米,兔子每到十的倍数就判断一次,如果它超过乌龟就停 30 30 30 分钟(在 f o r for for 循环中自减 30 30 30 次),否则就往前跑,直到下一个十的倍数再判断,当时间到总时间时就判断兔子和乌龟的路程,按照要求输出即可。

完整代码

#include<iostream>
using namespace std;int main(void)
{int T, x = 0, y = 0, rest = 0;cout << "请输入比赛时间:";             // 提交时注释此行cin >> T;for (int t = 0; t < T; t++){x += 3;if (t % 10 == 0 && rest == 0 && y > x)	// 当时间满足 10 的倍数并且兔子走的路程超过龟时就让兔子休息三十分钟rest = 30;if (rest == 0)y += 9;elserest--;}if (x > y)							// 乌龟赢cout << "@_@ " << x << endl;else if (x < y)						// 兔子赢cout << "^_^ " << y << endl;elsecout << "-_- " << y << endl;return 0;
}

http://www.mrgr.cn/news/55781.html

相关文章:

  • 计算不停歇,百度沧海数据湖存储加速方案 2.0 设计和实践
  • Unity中面试遇到的问题--C#--dynamic
  • Android中的IntentService及其作用。
  • Code Review Item
  • WebSocket Secure (WSS)
  • 浏览器实时更新esp32-c3 Supermini http server 数据
  • C++游戏开发:从基础到进阶
  • JavaWeb——Maven(6/8):依赖管理-依赖传递 (介绍、直接依赖与间接依赖、演示、排除依赖)
  • Java 分页实战详解
  • 保研推荐信模板
  • Unity地面检测、跳跃
  • 低功耗4G模组的小秘密:RSA算法示例驾到,通通闪开...
  • 一分钟运行DBT入门示例项目(Jaffle Shop)
  • 新的类Rufus应用可带来简单的Windows 11 24H2安装旁路
  • 【07】z检验
  • Redis在实践的关键点
  • autMan框架对接飞书机器人
  • Golang | Leetcode Golang题解之第500题键盘行
  • Flutter Container容器组件实战案例
  • 精选录屏软件下载工具:记录精彩每一刻
  • 基于leaflet-polygon.fillPattern的面状对象图片填充实现
  • SQL CHECK 约束:确保数据完整性的关键
  • 【星闪技术】WS63E模块实时显示当前环境温湿度
  • ARL 灯塔 | CentOS7 — ARL 灯塔搭建流程(Docker)
  • AI学习指南深度学习篇-对比学习(Contrastive Learning)简介
  • 用malloc申请空间的开辟和free空间的释放