求解鸡兔同笼问题,输入鸡兔总数和腿总数,判断是否正确,若正确。输出鸡兔各自数量,否则输出输入有错

求解鸡兔同笼问题,输入鸡兔总数和腿总数,判断是否正确,若正确。输出鸡兔各自数量,否则输出:输入有错


def solve_chicken_rabbit(total_num, total_legs):
    rabbit_num = (total_legs - 2 * total_num) / 2
    chicken_num = total_num - rabbit_num
    if rabbit_num >= 0 and chicken_num >= 0 and rabbit_num.is_integer() and chicken_num.is_integer():
        return int(chicken_num), int(rabbit_num)
    else:
        return "输入有错"

chicken, rabbit = solve_chicken_rabbit(20, 56)
if chicken != "输入有错":
    print("鸡的数量是", chicken)
    print("兔子的数量是", rabbit)
else:
    print("输入有错")

该回答引用ChatGPT

以下是 Matlab 代码实现鸡兔同笼问题:



% 输入鸡兔总数和腿总数
total_number = input('请输入鸡兔的总数:');
total_legs = input('请输入鸡兔的总腿数:');

% 计算鸡兔数量
rabbit_number = (total_legs - 2 * total_number) / 2;
chicken_number = total_number - rabbit_number;

% 判断结果是否正确
if (rabbit_number >= 0) && (chicken_number >= 0) && (rabbit_number == round(rabbit_number)) && (chicken_number == round(chicken_number))
    % 输出结果
    fprintf('鸡的数量为:%d,兔的数量为:%d\n', chicken_number, rabbit_number);
else
    % 输出错误信息
    fprintf('输入有误,请重新输入!\n');
end

运行程序后,根据提示输入鸡兔总数和腿总数即可得到结果。如果输入的数值不符合要求,程序会输出错误信息提示重新输入。