[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
相关推荐
转转技术团队几秒前
回收团队基于Cursor集成MCP的智能代码修复提示词生成实践
人工智能·python·程序员
杜子不疼.6 分钟前
【LeetCode 852 & 162_二分查找】山脉数组的峰顶索引 & 寻找峰值元素
算法·leetcode·职场和发展
石头dhf12 分钟前
大模型配置
开发语言·python
南科1号12 分钟前
Tushare数据来源分析一例
python
API技术员26 分钟前
京东API接口:如何高效获取商品详情与SKU信息
python
sort浅忆1 小时前
deeptest执行接口脚本,添加python脚本断言
开发语言·python
冷月半明1 小时前
trea solo,让我从牛马外包翻身当“甲方”
python·trae
Ka1Yan1 小时前
[二叉树] - 代码随想录:二叉树的统一迭代遍历
数据结构·算法·leetcode
superman超哥1 小时前
仓颉借用检查器工作原理深度解析
c语言·开发语言·c++·python·仓颉
张彦峰ZYF2 小时前
Python 项目文件组织与工程化实践
python·项目文件组织与工程化实践