本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。

前言

Python中的龟兔赛跑问题解决方法

让你自己输入一个时间,看看最后的赢家是乌龟还是兔子

问题描述

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

示例:输入在一行中给出比赛时间T(分钟)。最后得出赢家是谁,并且给出赢家的跑步距离

输入:242

输出:乌龟胜出,并且跑了726米

解决方案

最开始使用第一次想到的思路,也就是分别给兔子和乌龟算奔跑距离,但是后面发现与T的关系出现问题,后来经过网上的参考发现龟兔赛跑是呈现一个周期性的,前十分钟:兔子跑90m,乌龟跑30m,然后兔子休息三十分钟;前四十分钟,兔子90m(休息三十分钟),乌龟跑120m;前五十分钟,兔子跑180m,乌龟跑150m,然后兔子休息三十分钟;前八十分钟,兔子跑180m(休息六十分钟),乌龟跑240m;前九十分钟,兔子跑270m,乌龟跑270m;…可看出九十分钟一个周期,兔子只会在0-10,40-50,80-90这三个时间段跑,而乌龟却一直在跑,则可由此判断谁是胜利者

结语

这次的实验在最开始使用while循环,但是在随着问题的深入,很快就碰壁了,之后受到CSDN大佬的启发,在经过组内讨论和思考后,明白了“龟兔赛跑”问题实质上可以看成乌龟和兔子之间的周期问题,在固定的周期里,兔子的奔跑时间是固定的,与我们之前靠不同时间点来计算路程的问题来说,无疑是减少了不少的算法复杂度,随后便完成了“龟兔赛跑”的编程问题。

实习编辑:衡辉

作者:雷迅、于博、包文晴

稿件来源:深度学习与文旅应用实验室(DLETA)

算法创作|龟兔赛跑问题解决方法相关推荐

  1. 算法创作|“石头剪刀布”问题解决方法

    本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章. 问题描述 示例:"石头""剪刀""布"相信 ...

  2. 关于外卖骑手被困在算法里的问题解决方法浅析

    近日,看到有关,外卖骑手被困在算法里的相关新闻,我揣测一二,我们可以做个假设,假设最初始的第一个骑手第一单用时30分钟,算法初始状态什么都不知道,像一张白纸,或一个刚出生的小孩,大脑空白,这时算法开始 ...

  3. python读取中文文件乱码-详解Python的json文件读取及中文乱码显示问题解决方法...

    Python的json文件读取及解决中文乱码显示问题 本文实例讲述了Python实现的json文件读取及中文乱码显示问题解决方法.分享给大家供大家参考,具体如下: city.json文件的内容如下: ...

  4. leetcode202(Floyd判圈算法(龟兔赛跑算法))

    Write an algorithm to determine if a number is "happy". 写出一个算法确定一个数是不是快乐数. A happy number ...

  5. 软件构造实验一问题解决方法及经验教训

    软件构造实验一问题解决方法及经验教训 一:实验目标概述 1.本次实验通过求解三个问题,训练基本 Java 编程技能,能够利用 Java OO 开发基本的功能模块,能够阅读理解已有代码框架并根据功能需求 ...

  6. JDBC连接数据库遇到的“驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。”问题解决方法

    JDBC连接数据库遇到的"驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接."问题解决方法! 时间:2018-12-20 本文章向大家介绍JDB ...

  7. maven java版本过低_maven项目编译运行时提示jdk版本过低问题解决方法

    明明使用的是1.8jdk,但是运行项目时提示使用的是java版本是1.5,版本过低. 修改pom.xml,添加如下: maven-compiler-plugin 3.6.1 1.8 1.8 UTF-8 ...

  8. 分类中常见的类别不平衡问题解决方法

    常见的类别不平衡问题解决方法 常见的类别不平衡问题解决方法 那么,什么是"类别不平衡"? 解决方法 1.扩大数据集 2.欠采样 3.过采样 4.使用新评价指标 5.尝试不同的分类算 ...

  9. 应对百度“清风算法”的策略和方法

    应对百度"清风算法"的策略和方法 还好,一切都恢复了. 关键词恢复了,域名恢复了-- 大家都知道,老费的博客前几天受到百度清风算法的影响,被K了(至于是不是真正被k目前还没有办法定 ...

最新文章

  1. 算法导论之有关数论的算法
  2. cherry-pick,revert和rebase使用的3-way合并策略
  3. java自定义jsp标签_深入浅出javaWeb实战第17讲自定义JSP标签(上)
  4. ubuntu 安装星际译王词典
  5. windows2008安装
  6. Arcgis License的安装及破解
  7. 掌握这20个JS技巧,做一个不加班的前端人
  8. Kali Linux 网络扫描秘籍 第四章 指纹识别(一)
  9. [转载] Sublime Text 3 插件 ClangFormat 格式化 C/C++版
  10. FPGA IP核分类
  11. iOS动态库和静态库的运用
  12. iOS 16适配屏幕旋转强制转屏切换大总结
  13. 厦门大学2019年数学分析考研试题
  14. 51单片机汇编语言点亮一位数码管,并计时(超详细分析汇编语言)
  15. 【Excel】设置数据有效性以及COUNTIF用法
  16. 单射、满射、双射(一一映射)
  17. 微信小程序如何封装自己的组件?
  18. PD快充方案:极具性价比的苹果iphone12 PD20W快充方案来了!
  19. 3分钟了解Kfaka
  20. B. Applejack and Storages(数学+STL的使用) Codeforces Round #662 (Div. 2)

热门文章

  1. python中美元人汇率_Python获取美元人民币实时汇率
  2. 知道路程时间求加速度_加速度位移时间的公式
  3. (史上最完整) 队列 的基本操作和实现 及排队系统实例
  4. 几个你需注意的数据库设计原则(新手必看)
  5. DecoupleSegNets学习总结
  6. java与es8实战之一:以builder pattern开篇
  7. 美团数据分析岗面试题+解题思路
  8. 交互媒体专题设计------《The Wiley Handbook of Human Computer Interaction》之观后感
  9. python讲得比较好的老师_Python学习讲师哪个好?
  10. 如何将EXCEL表格的内容导入到CDR中?