在整理复试代码时,发现马克思的手稿及百钱百鸡问题的描述基本一致,所以将其整理在一起,若在发现类似问题再补充
马克思手稿中有一道趣味数学问题:有30个人,其中有男人、女人和小孩,他们在同一家饭馆吃饭,总共花了50先令。已知每个男人吃饭需要花3先令,每个女人吃饭需要花2先令,每个小孩吃饭需要花1先令,请编程求出男人、女人和小孩各有几人。
#include<stdio.h>
int main()
{
int x, y, z, number = 0;
printf(" Men Women Children\n");
for (x = 0; x <= 10; x++)
{
y = 20 - 2 * x;
z = 30 - x - y;
if (3 * x + 2 * y + z == 50)
printf("%2d:%4d%5d%6d\n", ++number, x, y, z);
}
system("pause");
return 0;
}
百钱买百鸡的问题算是一套非常经典的不定方程的问题,题目很简单:公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买一百只鸡, 其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱。
#include<stdio.h>
int main() {
int x, y, z;
printf("公鸡 母鸡 雏鸡\n");
for (y = 0; y <= 25; y++)
{
x = (100 - 4 * y) / 7;
z = 100 - x - y;
if ((5 * x + 3 * y + z / 3) == 100)
printf("%d %d %d\n", x, y, z);
}
system("pause");
return 0;
}