描述
“百鸡问题”是出自我国古代《张丘建算经》的著名数学问题。大意为:“每只公鸡 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 样例输入2: 1 1 1 100 100
样例输出
样例输出1: 4 样例输出2: 5151
#include <iostream> #include <cstdio> using namespace std; int main() { int x = 0, y = 0, z = 0, n = 0, m = 0, cnt = 0; cin >> x >> y >> z >> n >> m; for (int i = 0; i * x <= n&&i <= m; i++) { for (int a = 0; a * y + i * x <= n&&a <= m; a++) { int b = (n - i * x - a * y) * z; if(a + b + i == m) { cnt++; } } } cout << cnt; return 0; }