李白打酒,奇怪的分式(python)

2023-10-31 11:20

本文主要是介绍李白打酒,奇怪的分式(python),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 李白打酒
    • 分析
    • 运行代码
      • 通过截图
  • 奇怪的分式
    • 分析
    • 运行代码
      • 通过截图

李白打酒

题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。话说大诗人李白,一生好饮。幸好他从不开车。一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱:无事街上走,提壶去打酒。 逢店加一倍,遇花喝一斗。这一路上,他一共遇到店5次,遇到花 10 次,已知最后一次遇到的是花,他正好把酒喝光了。请你计算李白遇到店和花的次序,可以把遇店记为 a,遇花记为 b 。则:babaabbabbabbbb 就是合理的次序。像这样的答案一共有多少呢?请你计算出所有可能方案的个数(包含题目给出的)。运行限制
最大运行时间:1s
最大运行内存: 128M

分析

  • 可以用dfs来做,注意最后一次遇到的是花,所以终止条件为:遇到店5次,遇到花9次且酒还有1斗,因为这样下一次花必定能够满足。

运行代码

# 李白打酒(dfs)
'''
a: 表示遇到多少家店
b: 表示遇到多少朵花
x: 表示酒剩多少斗
'''
res = 0
path = []
def dfs(a,b,x):global res# 终止条件if a == 5 and b == 9 and x == 1:res+=1returnif a > 5 or b > 9:return# 遇到店dfs(a+1,b,x*2)# 遇到花dfs(a,b+1,x-1)dfs(0,0,2)
print(res)

通过截图

在这里插入图片描述

奇怪的分式

题目描述
上小学的时候,小明经常自己发明新算法。一次,老师出的题目是:1/4 乘以 8/5 小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见图1.png)老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼! 对于分子、分母都是 1~9 中的一位数的情况,还有哪些算式可以这样计算呢? 请写出所有不同算式的个数(包括题中举例的)。显然,交换分子分母后,例如:4/1 乘以 5/8 是满足要求的,这算做不同的算式。但对于分子分母相同的情况,2/2 乘以 3/3 这样的类型太多了,不在计数之列!注意:答案是个整数(考虑对称性,肯定是偶数)。请通过浏览器提交。不要书写多余的内容。

在这里插入图片描述

分析

  • 四重循环解决一切,相等的分子分母continue
  • 注意这里不会重复,比如左边分子从1到9,右边分子也从1到9,分子组合起来就是从11到99(中间一些末位0的数字不计),这就算一个没有重复的过程,分母同理。
  • 问题抽象:a2/a1+b2/b1 = (a2*10+b2) /(a1*10+b1)
  • 浮点最恶心的地方:(a2/a1)+(b2/b1)这会降低精度,导致答案不完整,需要写成(a2*b2)/(a1*b1)
  • 总之,就是能少除就少除。

运行代码

res = 0
for a1 in range(1,10): # a的分母for a2 in range(1,10): # a的分子if a1 == a2:continuefor b1 in range(1,10): # b的分母for b2 in range(1,10): # b的分子if b1 == b2:continueif (a2*b2)/(a1*b1) == int(str(a2)+str(b2))/int(str(a1)+str(b1)):res+=1print(res)

通过截图

在这里插入图片描述

如有错误,敬请指正,欢迎交流,谢谢♪(・ω・)ノ

这篇关于李白打酒,奇怪的分式(python)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/315007

相关文章

使用Python绘制可爱的招财猫

《使用Python绘制可爱的招财猫》招财猫,也被称为“幸运猫”,是一种象征财富和好运的吉祥物,经常出现在亚洲文化的商店、餐厅和家庭中,今天,我将带你用Python和matplotlib库从零开始绘制一... 目录1. 为什么选择用 python 绘制?2. 绘图的基本概念3. 实现代码解析3.1 设置绘图画

Python pyinstaller实现图形化打包工具

《Pythonpyinstaller实现图形化打包工具》:本文主要介绍一个使用PythonPYQT5制作的关于pyinstaller打包工具,代替传统的cmd黑窗口模式打包页面,实现更快捷方便的... 目录1.简介2.运行效果3.相关源码1.简介一个使用python PYQT5制作的关于pyinstall

使用Python实现大文件切片上传及断点续传的方法

《使用Python实现大文件切片上传及断点续传的方法》本文介绍了使用Python实现大文件切片上传及断点续传的方法,包括功能模块划分(获取上传文件接口状态、临时文件夹状态信息、切片上传、切片合并)、整... 目录概要整体架构流程技术细节获取上传文件状态接口获取临时文件夹状态信息接口切片上传功能文件合并功能小

python实现自动登录12306自动抢票功能

《python实现自动登录12306自动抢票功能》随着互联网技术的发展,越来越多的人选择通过网络平台购票,特别是在中国,12306作为官方火车票预订平台,承担了巨大的访问量,对于热门线路或者节假日出行... 目录一、遇到的问题?二、改进三、进阶–展望总结一、遇到的问题?1.url-正确的表头:就是首先ur

基于Python实现PDF动画翻页效果的阅读器

《基于Python实现PDF动画翻页效果的阅读器》在这篇博客中,我们将深入分析一个基于wxPython实现的PDF阅读器程序,该程序支持加载PDF文件并显示页面内容,同时支持页面切换动画效果,文中有详... 目录全部代码代码结构初始化 UI 界面加载 PDF 文件显示 PDF 页面页面切换动画运行效果总结主

Python如何实现 HTTP echo 服务器

《Python如何实现HTTPecho服务器》本文介绍了如何使用Python实现一个简单的HTTPecho服务器,该服务器支持GET和POST请求,并返回JSON格式的响应,GET请求返回请求路... 一个用来做测试的简单的 HTTP echo 服务器。from http.server import HT

轻松掌握python的dataclass让你的代码更简洁优雅

《轻松掌握python的dataclass让你的代码更简洁优雅》本文总结了几个我在使用Python的dataclass时常用的技巧,dataclass装饰器可以帮助我们简化数据类的定义过程,包括设置默... 目录1. 传统的类定义方式2. dataclass装饰器定义类2.1. 默认值2.2. 隐藏敏感信息

Python绘制土地利用和土地覆盖类型图示例详解

《Python绘制土地利用和土地覆盖类型图示例详解》本文介绍了如何使用Python绘制土地利用和土地覆盖类型图,并提供了详细的代码示例,通过安装所需的库,准备地理数据,使用geopandas和matp... 目录一、所需库的安装二、数据准备三、绘制土地利用和土地覆盖类型图四、代码解释五、其他可视化形式1.

python中cv2.imdecode()与cv2.imencode()的使用小结

《python中cv2.imdecode()与cv2.imencode()的使用小结》本文介绍了cv2.imencode()和cv2.imdecode()函数的使用,文中通过示例代码介绍的非常详细,对... 目录1、图片路径带中文的读取和写入1.1 读取1.2 写入2、在网络中传输图片cv2.imencod

Python使用asyncio实现异步操作的示例

《Python使用asyncio实现异步操作的示例》本文主要介绍了Python使用asyncio实现异步操作的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋... 目录1. 基础概念2. 实现异步 I/O 的步骤2.1 定义异步函数2.2 使用 await 等待异