马克思数学手稿问题

来源:互联网 发布:python替换中文字符串 编辑:程序博客网 时间:2024/04/29 13:51

问题描述:

马克思手稿中有一道趣味数学问题:有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;}


0 0
原创粉丝点击