欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

百鸡问题

最编程 2024-04-24 16:45:07
...

百鸡问题: 鸡公3元一只,鸡婆1元一只,鸡仔13,请列出用100元钱买100只鸡的各种可能。

问题分析

先用方程的形式表达一下,设买了x只鸡公,y只鸡婆,z只鸡仔,则有下面的方程式

x+y+z=100

3x+y+1/3z=100 转化为->9x+3y+z=300

下面我们就用编程语言来帮我们计算到底有几种可能性呢,鸡公,鸡婆,鸡仔的个数分别是多少只呢?

我们还需要考虑到:

1)若用100块全部买鸡公的话,最多只能买33只,所以上面的cock的最大值应该是33,取值范围[0,33]

2)若用100块全部买鸡婆的话,做多可以买100只,取值范围[0,100]

3)鸡仔的取值范围也应该在[0,100]之间。

再加上上面的方程,代码如下:

#include "stdafx.h"
#include <stdio.h>
#include <iostream>
using namespace std;

int main()
{	
	int cock,hen,chick;//先分别定义3个变量,表示鸡公,鸡婆,鸡仔的只数
	int num = 0;
	for(cock = 0;cock <= 33;cock++)
	{
		for(hen = 0;hen <= 100;hen++)
			for(chick = 0;chick <= 100;chick++)
			{
				if((cock + hen + chick == 100)&&(9*cock + 3*hen + chick == 300))
				{
					num++;
					printf("\n==================\n第%d组:\n",num);
					printf("公鸡:%d只\t\t母鸡:%d只\t\t鸡仔:%d只\n",cock,hen,chick);
				}
			}
	}
	system("pause");
	return 0;
}

总共可以有26组,输出结果如下: