穷举法例子:百钱百鸡和五人分鱼
百钱百鸡
公鸡5元一只 母鸡3元一只 小鸡1元三只
用100元买100只鸡 问公鸡/母鸡/小鸡各多少只
for x in range(20):
for y in range(33):
z = 100 - x - y
if 5 * x + 3 * y + z // 3 == 100 and z % 3 == 0:
print(x, y, z)
五人分鱼
A、B、C、D、E五人在某天夜里合伙捕鱼 最后疲惫不堪各自睡觉第二天
A第一个醒来 他将鱼分为5份 扔掉多余的1条 拿走自己的一份
B第二个醒来 也将鱼分为5份 扔掉多余的1条 拿走自己的一份
然后C、D、E依次醒来也按同样的方式分鱼 问他们至少捕了多少条鱼
python代码
fish = 6
while True:
total = fish
enough = True
for _ in range(5):
if (total - 1) % 5 == 0:
# 每个人看到的鱼扔掉一条
# 剩下的鱼如果能被5整除
total = (total - 1) // 5 * 4
# 下一个人看到的鱼数量
else:
# 如果不能被5整除
enough = False
break
if enough:
print(fish)
break
fish += 5
c代码
#include <stdio.h>
int main()
{
int a, b, c, d, e;
int fish = 6;
// 最后一个人醒来,扔掉一条鱼,鱼还可以被五个人分,所以鱼至少大于等于6条
for (fish = 6;; fish++)
{
a = fish - 1; // A扔掉一条鱼,还剩下的鱼
b = a / 5 * 4 - 1; // B扔掉一条鱼,还剩下的鱼
c = b / 5 * 4 - 1; // C扔掉一条鱼,还剩下的鱼
d = c / 5 * 4 - 1; // D扔掉一条鱼,还剩下的鱼
e = d / 5 * 4 - 1; // E扔掉一条鱼,还剩下的鱼
if (a%5==0&&b%5==0&&c%5==0&&d%5==0&&e%5==0)
{
printf("至少合伙捕鱼:%d条\n", a+1);
break;
}
}
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端