#include<stdio.h>
int main()
{
short man;
short woman;
int k=0;//记录循环执行次数
//
printf("Man Women Children\n");
for(man=0;man<=16;man++)
{
for(woman=0;woman<=25;woman++)
{
k++;
if(man*3+woman*2+(30-man-woman)*1==50)
{
//找到匹配数量
printf("%3d%8d%8d\n", man, woman, 30-man-woman);
}
}
}
//
printf("共执行%d次循环\n", k);
//
return 0;
}
//编程求解马克思手稿中的趣味数学题:
//有30个人,其中有男人、女人和小孩,
//在一家饭馆里吃饭共花了50先令,
//每个男人各花3先令,每个女人各花2先令,每个小孩各花1先令,
//请编程计算男人、女人和小孩各有几人(注:给出的方案中男人、女人和小孩的人数可以是0)?
上面的算法还有些许低效,如下面所示修改,可大幅提升程序执行效率.
[注]每次进入