乌鸦喝水之谜

简介: 乌鸦喝水之谜

1 引言

在小学的时候我们就听说过乌鸦用石头塞瓶子来喝水,体现了乌鸦的机智,现在让我们用python来求解乌鸦喝水需要塞多少颗石头。


2 问题

现在有一个底面为正方形的长方体,当水面于瓶口的距离小于2cm时,乌鸦便可以喝到水,已知每颗石头的体积固定为8cm3

问:需要多少颗石头,乌鸦才能喝到水

第一行输入N M,分别表示边长和水面与瓶口的距离

第二行输出一个整数,表示需要的石头数

示列

输入:10 9  

输出:88


3方法

输入两个整数:N M,一个是长方体底面的边长,一个是瓶口与瓶子里水面的距离。在我做的时候,想到了俩种方法,一是直接计算 ,二是用循环的方法来求所需石头的数量


4 实验结果与讨论

通过实验、实践等证明提出的方法是有效的,是能够解决开头提出的问题。

代码清单

# 第一种方法
N, M = map(int, input().split())
v = (M - 2) * N*N  # 水面到距瓶口2cm之间的体积
a = v / 8    # 初次计算所需的石头数,可能是小数
if a > int(a):  # 如果a是小数,一定大于int(a)
a = int(a) + 1  # 所以a = int(a) + 1
print(a)  # 如果初算a为整数,直接输出,如果为小数,输出int(a) + 1
# 第二种方法
N, M = map(int, input().split())
n = 0   # 初始石头数量
while M >= 2: # 当M不小于二是循环
   n += 1
   v = M*N*N
   v -= 8
   M = v / (N*N)
print(n)


5 结语

用python可以解决一些数学问题和生活问题,在做这道题时,如果想直接求解的话,要注意用长方体的体积来除以石头的体积,要考虑到除出来的结果部位整数,而且不能直接用int。用循环来做,思考的东西会少一些,我建议用循环来求。

目录
相关文章
|
4月前
|
传感器
【光波电子学】期末复习资料汇总
文章汇总了光波电子学相关的复习资料,包括光波电子学的定义、周期性等同透镜波导、双周期性透镜波导、波动方程、高斯光束、光纤的数值孔径、倍频效应、类透镜介质、和频效应以及光线传输矩阵等内容。
52 2
|
7月前
|
运维 监控 数据安全/隐私保护
绝地反击,不做背锅侠!
那么作为运维人员,如何摆脱以上背黑锅的尴尬局面呢?堡垒机当然是破解此局面的绝杀大招。
65 0
《人间清醒语录》
今天,我们想分享来自大淘宝技术工程师们的《人间清醒语录》,这些金句里凝结了他们多年实践经验的智慧,希望可以给你“打怪升级”的过程带来一些帮助。
248 0
14:大象喝水
14:大象喝水
175 0
|
机器学习/深度学习
学霸、学神OR开挂
我们学习知识 好比武侠世界里的人修炼武功一般 有人天赋异禀、骨骼清奇 是天生的练武奇才——学神 有人天资平庸,但通过后天的孜孜不倦 终成一代大侠——学霸 还有人一路奇遇不断,屡获高人指点 成为绝世高手——外挂玩家
学霸、学神OR开挂
传奇谢幕,回顾霍金76载传奇人生
根据外媒报道,著名物理学家斯蒂芬·威廉·霍金(Stephen William Hawking)去世,享年76岁,霍金的家人已经确认了这一消息。
3931 0
和“利奇马”赛跑的男人
超强台风“利马奇”,国际编号:1909,正在向浙江沿海靠近。这是今年以来登陆我国的最强台风。
1828 0
|
Java C++
做决定,怎能让“自己”缺席
【来信】   贺老师,您好,我在一次有目的的搜索中发现了您给大二软件工程学生解答的问题。仔细阅读后,决定写信给您。
1394 0
下一篇
DataWorks