题型:编程题
百鸡问题
【问题描述】
“百鸡问题”是出自我国古代《张丘建算经》的著名数学问题。大意为:“每只公鸡 5 元,每只母鸡 3 元,每 3 只小鸡 1 元;现在有 100 元,买了 100 只鸡,共有多少种方案?”
小明很喜欢这个故事,他决定对这个问题进行扩展,并使用编程解决:如果每只公鸡 x 元,每只母鸡 y 元,每 z 只小鸡 1 元;现在有 n 元,买了 m 只鸡,共有多少种方案?
【输入描述】
输入一行,包含五个整数,分别为问题描述中的 x、y、z、n、m。约定 1≤x, y, z ≤10,1≤ n, m ≤1000。
【输出描述】
输出一行,包含一个整数 C,表示有 C 种方案。
【样例输入 1】
5 3 3 100 100
【样例输出 1】
4
【样例解释 1】
这就是问题描述中的“百鸡问题”。4 种方案分别为:公鸡 0 只、母鸡 25 只、小鸡 75 只;公鸡 4 只、母鸡 18 只、小鸡 78 只;公鸡 8 只、母鸡 11 只、小鸡 81只;公鸡 12 只、母鸡 4 只、小鸡 84 只。
【样例输入 2】
1 1 1 100 100
【样例输出 2】
5151
更新时间:2023-04-19 15:04:58
|
【知识点】
CCF—GESP C++二级
抱歉! 您未登录, 不能查看答案和解析点击登录
相似题推荐
单选题
下面代码用来找出输入的N个正整数中最大的一个。如果将代码段用流程图来表示,则 L1 标记的代码行应 该使用的图形是( )。
int N, max=0, val;
cin >> N;
while(N){
cin >> val;
if(val > max) // L1
max = val;
N--;
}
cout << max; | A. 圆形框 |
B. 椭圆形框 |
| C. 平行四边形框 |
D. 菱形框 |
2026-09-29
判断题
下面C++代码段执行后将输出 0-3-6-9- 。 ( )
for (int i = 0; i < 10; i++){
if (i % 3)
continue;
cout << i << "-";
}| A.正确 | B.错误 |
2026-09-29
单选题
下面的 C++ 代码段正常执行后其输出的数字图形是( )。
for (i = 1; i < 5; i++){
for (j = 1; j < i+1; j++)
cout << j;
cout << endl;
} | A. 1 12 123 1234 |
B. 1 22 333 4444 |
| C. 1 21 321 4321 |
D. 4 34 234 1234 |
2026-09-29
单选题
下面 C++ 代码段执行后,其输出是( )。
int i, j, cnt;
cnt = 0;
for (i = 0; i < 5; i++){
i = -i; for (j = i; j < -i; j++) cnt += 1;
i = -i;
}
cout << cnt; | A. 5 |
B. 15 |
| C. 20 |
D. 30 |
2026-09-29
