[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
相关推荐
m0_7349497914 小时前
MySQL如何配置定时清理过期备份文件_find命令与保留周期策略
jvm·数据库·python
m0_5145205715 小时前
MySQL索引优化后性能没提升_通过EXPLAIN查看索引命中率
jvm·数据库·python
H Journey15 小时前
Python 国内pip install 安装缓慢
python·pip·install 加速
Polar__Star16 小时前
如何在 AWS Lambda 中正确使用临时凭证生成 S3 预签名 URL
jvm·数据库·python
m0_7436239217 小时前
React 自定义 Hook 的命名规范与调用规则详解
jvm·数据库·python
FreakStudio17 小时前
无硬件学LVGL—定时器篇:基于Web模拟器+MicroPython速通GUI开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
阿Y加油吧17 小时前
算法实战笔记:LeetCode 169 多数元素 & 75 颜色分类
笔记·算法·leetcode
gCode Teacher 格码致知18 小时前
Python提高:pytest的简单案例-由Deepseek产生
python·pytest
不要秃头的小孩18 小时前
力扣刷题——509. 斐波那契数
python·算法·leetcode·动态规划
科雷软件测试18 小时前
使用python+Midscene.js AI驱动打造企业级WEB自动化解决方案
前端·javascript·python