百钱卖白鸡plus(用python基础编程解答)

【原版描述】

我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,如果要求鸡翁、鸡母、鸡雏都不为零,问鸡翁、鸡母、鸡雏各几何。‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬

【现在的问题是】

用户输入鸡的数量和钱数,鸡翁、鸡母、鸡雏各为多少?如果有解,输出全部解,并按鸡翁数量由少到多的顺序输出;如果无解则输出“无解”。‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬

【输入格式】

用户在同一行内输入用空格分隔的两个正整数,分别表示鸡的数量和钱数‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬

【输出格式】

每行输出一组结果,按鸡翁数、鸡母数、鸡雏数的顺序输出,以一个空格隔开;‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬

有多组解时,按鸡翁数量由少到多输出‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬;

如果无解则输出“无解”。‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬

num = input('输入鸡的数量和钱数,以空格隔开:')
num = num.split(' ')
chicken = int(num[0])
money = int(num[1])

data = [] # 存有效数据
for i in range(int(money/5)+1):
    for j in range(int(money/3)+1):
        if i*5+j*3+(money-i-j)/2 == money: # 符合条件
            _dict = [i,j,(money-i-j)] # 存鸡翁、鸡母、鸡雏数据
            data.append(_dict)
            #print(f'鸡翁={i},鸡母={j},小鸡={money-i-j}')

if len(data):
    for c in data:
        print(f'鸡翁={c[0]},鸡母={c[1]},鸡雏={c[2]}')
else:
    print('无解')

 

是啊,你的码仔在那里?让大家看看漂吧漂亮呀!