蛮力法解决买小鸡问题
#include<iostream>
using namespace std;
//蛮力法百元买百鸡问题
//公鸡5元,母鸡3元,小鸡1元三只,求100能买多少只
int num = 0;//计数
int money;//钱数
int number;//鸡的总数
//函数声明
void Chicken(int,int);
int Money();
int Number();
//主函数
void main() {
Chicken(Money(),Number());
}
//函数定义
int Money() {//输入钱数
cout << "请输入你的money" << endl;
cin >> money;
return money;
}
int Number() {//输入总数
cout << "请输入你要买的鸡的总数" << endl;
cin >> number;
return number;
}
void Chicken(int money,int number) {
int x, y, z;//记录每种鸡的个数
for (x = 0; x <= 20; x++) {
for (y = 0; y <= 33; y++) {
z = number- x - y;//小鸡的只数
if (z % 3 == 0 &&(5*x+3*y+z/3)==money) {
num++;//方案加一
cout << "公鸡: " << x << " 母鸡: " << y << " 小鸡: " << z << endl;
}
}
}
if (num == 0) {
cout << money << "元无解" << endl;
}
cout << "共有 " << num << "种方案" << endl;
}
一些实验结果: