c++解决鸡兔同笼问题
作者:野牛程序员:2024-11-02 20:52:48 C++阅读 2470
c++解决鸡兔同笼问题
鸡兔同笼
【问题描述】
利用 input()语句先后输入两个正整数,分别代表鸡兔的头和脚的总数。其 中,兔有四只脚,鸡有两只脚,都只有一个头。 请编写 Python 代码计算出兔和鸡的数量,输出结果形如“Chicken=15 Rabbit=5”,如没有解则输出“No solution!”。
【输入描述】 分两次输入,第一次输入头的总数,回车后输入脚的总数。 特别提示:常规程序中,输入时好习惯是有提示。考试时由于系统限定,输 入时所有 input()函数不可有提示信息。
【输出描述】 如果有解,则输出鸡和兔分别数量,形如“Chicken=15 Rabbit=5”Rabbit 之前有 1 个英文半角空格,C 和 R 都为大写。 如没有解则输出“No solution!”,No 之后有 1 个英文半角空格,solution 之后有英文半角叹号。 特别提示:注意字母大小写以及空格、叹号等匹配一致。
【样例输入 1】
20
50
【样例输出 1】
Chicken=15 Rabbit=5
【样例输入 2】
20
30
【样例输出 2】
No solution
可以使用 C++ 编写一个程序来解决“鸡兔同笼”问题,采用枚举法的思路。以下是实现的 C++ 代码:
#include <iostream> using namespace std; int main() { int heads, legs; cin >> heads; // 输入头的总数 cin >> legs; // 输入脚的总数 bool solution_found = false; // 枚举鸡的数量,从 0 到头的总数 for (int chickens = 0; chickens <= heads; ++chickens) { int rabbits = heads - chickens; // 计算兔的数量 int total_legs = 2 * chickens + 4 * rabbits; // 计算脚的总数 // 检查脚的总数是否匹配 if (total_legs == legs) { cout << "Chicken=" << chickens << " Rabbit=" << rabbits << endl; solution_found = true; break; // 找到解后退出循环 } } // 如果没有找到解,输出“No solution!” if (!solution_found) { cout << "No solution!" << endl; } return 0; }
使用
cin
读取头数和脚数。使用一个循环枚举所有可能的鸡的数量,从 0 到头的总数。
根据鸡的数量计算兔的数量,并计算对应的脚的总数。
如果脚的总数与输入的脚数匹配,输出鸡和兔的数量,并设置标志
solution_found
为true
,然后退出循环。如果循环结束后未找到解,输出“No solution!”。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:python解决鸡兔同笼
- 下一篇:c++斐波那契数列