[Python]两个杯子取水问题

python 复制代码
利用两个杯子巧取三升水:
今天的这个趣味数学小游戏是利用两个没有刻度的水杯,巧妙地取出三升水来。
题目的条件是:一个总容量为6升的杯子和一个总容量为5升的杯子,同时面前有无限容量的水供你使用。不借助其它任何的容器,巧妙地取出3升水来。

思路分析

容量C1大杯子向容量C2小杯子里倒水,大杯子始终会剩余差值C1-C2;

小杯子向大杯子倒水,小杯子加满,第一次倒不满,第二次会剩余一点,大杯子就相当于除数,小杯子里面剩余的是余数,倒的水总量是被除数

由此可得关系,C2 * i % C1 != 3(i是给小杯子加满次数)。

本质是除法取余。

python 复制代码
def getWater(C1,C2):
    i = 0
    while C2 * i % C1 != 3:
        i += 1
    return i

C1 = 6
C2 = 5
print(getWater(C1,C2))

运行结果

python 复制代码
3
相关推荐
zhuhezhang1 分钟前
一个用python开发的文本对比工具
python·文本对比工具
智算菩萨2 分钟前
【Python图像处理】5 Pillow图像处理与格式转换
图像处理·python·pillow
人工干智能11 分钟前
科普:%%matplotlib inline:魔法命令 (Cell Magic)
python·matplotlib
05大叔13 分钟前
优化器Adam,神经网络处理文本,CNN,RNN
开发语言·python·机器学习
小肝一下23 分钟前
每日两道力扣,day6
数据结构·c++·算法·leetcode·双指针·hot100
徒 花36 分钟前
Python知识学习08
java·python·算法
人道领域1 小时前
【LeetCode刷题日记】242.字母异位词
算法·leetcode·职场和发展
XWalnut1 小时前
LeetCode刷题 day8
算法·leetcode·职场和发展
前端技术1 小时前
ArkTS第三章:声明式UI开发实战
java·前端·人工智能·python·华为·鸿蒙
疯狂成瘾者1 小时前
.pyc格式文件
python