马克思数学题

问题:

马克思手稿中有一道趣味数学问题:有30个人,其中有男人、女人和小孩,他们在同一家饭馆吃饭,总共花了50先令。已知每个男人吃饭需要花3先令,每个女人吃饭需要花2先令,每个小孩吃饭需要花1先令,请编程求出男人、女人和小孩各有几人。

分析:
设变量x、y和z分别代表男人、女人和小孩,则由题目的要求,可得到如下的方程组:
在这里插入图片描述
其中方程 (1) 表示男人、女人和小孩加起来总共有30个人。

方程 (2) 表示30个人吃饭总共花了50先令。用 (2) - (1),可得:

2x+y=20 (3)

由方程 (3) 可知,则x取值范围为 [0,10]。

下面是完整的代码:

#include "stdio.h"
void main()
{
    int x, y, z, number=0;
printf("     Men Women Children\n");
for( x=0; x<=10; x++ )
{
y = 20 - 2 * x;//由(2)得到的公式
z = 30 - x - y;//由(3)得到的公式
if(3*x+2*y+z == 50&&x>0&&y>0&&z>0)//可在这里加条件,令x,y,z都不为0
printf("%2d:%4d%5d%6d\n", ++number, x, y, z);
}

}

运行结果:

马克思数学题_第1张图片

你可能感兴趣的:(马克思数学题)