恶有鳄抱 发表于 2024-8-26 19:21:31

数学趣题——客车人数

两名军官率领 265 名士兵开赴前线,由于战事吃紧,军用车辆已经派上了战场,

现只有从该国某客车出租公司征调车辆。

已知大客车有39个座位,小客车有30个座位,要使每个人都有座位,并且没有空座位。

请问各需大、小客车多少辆?(包括两名军官)



**** Hidden Message *****

jackz007 发表于 2024-8-26 20:05:01

x = 0
while 39 * x <= 267 :
    y = 0
    while x * 39 + y * 30 <= 267 :
      if x * 39 + y * 30 == 267 :
            print('大客车:%d 辆,小客车:%d 辆' % (x , y))
      y += 1
    x += 1
唯一答案:大客车3辆,小客车5辆

三体人的智子 发表于 2024-8-26 20:15:43

本帖最后由 三体人的智子 于 2024-8-26 20:27 编辑

用Python嵌套循环可以实现

for big in range(10):
    for small in range(10):
      if big*39+small*30==265+2:
            print("大客车需要{:}辆,小客车需要{:}辆".format(big,small))


大客车3辆,小客车5辆

丫丫的雅雅 发表于 2024-8-26 21:14:11

①遍历法1-9

总人数:267
然后算:267%10=7
小客车30是无法凑出尾数7的,只能0
大客车39中,在1到9的遍历中只有3可以出现尾数7(所以是唯一解)

答案print:
大客车3
小客车(267 - 3 * 39) / 30 = 5

三体人的智子 发表于 2024-8-26 21:45:31

丫丫的雅雅 发表于 2024-8-26 21:14
①遍历法1-9

总人数:267


思路nice{:10_256:}

三体人的智子 发表于 2024-8-26 21:57:36

from itertools import product
print("大客车需要",[(x,y) for x,y in product(range(8),range(10)) if 39*x + 30*y == 267],"辆",",","小客车需要",[(x,y) for x,y in product(range(8),range(10)) if 39*x + 30*y == 267],"辆")

{:10_279:}最精简版,仅两行代码

丫丫的雅雅 发表于 2024-8-26 22:18:03

三体人的智子 发表于 2024-8-26 21:57
最精简版,仅两行代码

牛蛙,评分还要扣自己的啊哈哈{:5_107:}那算了
还是建议换行~

zhangjinxuan 发表于 2024-8-26 22:28:05



注意到函数 $39x+30y=267$ 在第一象限内有且仅有一个整点 $(3,5)$,所以 $x=3,y=5$。

sfqxx 发表于 2024-8-26 22:52:03

zhangjinxuan 发表于 2024-8-26 22:28
注意到函数 $39x+30y=267$ 在第一象限内有且仅有一个整点 $(3,5)$,所以 $x=3,y=5$。

逆天·抽象

歌者dddddgz 发表于 2024-8-27 00:55:01

267 鸡兔同笼30 39
尾数7,9*3尾数也是7
所以39有3个,39*3=117
267-117=150
150是30*5
30的车5辆,39的车三辆

恶有鳄抱 发表于 2024-8-27 09:45:04

sfqxx 发表于 2024-8-26 22:52
逆天·抽象

确实有一点抽象哈哈哈{:5_109:}

大熊猫之家 发表于 2024-8-28 15:56:31

没懂 我算出来都有空位
页: [1]
查看完整版本: 数学趣题——客车人数