马克思数学手稿问题

问题描述:

马克思手稿中有一道趣味数学问题:有30个人,其中有男人、女人和小孩,在一家饭馆吃饭共花了50先令;每个男人花3先令,每个女人花2先令,每个小孩花1先令;问男人、女人和小孩各有几人?编程,输出全部可能的答案。

解题思路:

设有x个男人,y个女人,则小孩有(30-x-y)人,x、y为正整数
依题意有:
3x+2y+(30-x-y)=50
===> 2x+y=20
===> y=20-2x
①当x=1时,y=18,30-x-y=11
②当x=2时,y=16,30-x-y=12
③当x=3时,y=14,30-x-y=13
④当x=4时,y=12,30-x-y=14
⑤当x=5时,y=10,30-x-y=15
⑥当x=6时,y=8,30-x-y=16
⑦当x=7时,y=6,30-x-y=17
⑧当x=8时,y=4,30-x-y=18
⑨当x=9时,y=2,30-x-y=19
⑩当x≥10时,y≤0,不符合题意。


#include <stdio.h>
int main()
{
	int money = 50, count = 30;
	int i, j, k;
	printf("They consist of:\n");
	for (i = 1; i <= count; i++)
		for (j = 1; j <= count; j++)
			for (k = 1; k <= count; k++)
				if (i + j + k == count && 3 * i + 2 * j + k == money)
				{
					printf("man=%2d woman=%2d child=%2d\n", i, j, k);
				}
	return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值