某工地需要搬运砖块,已知男人一人搬3块,女人一人搬2块,小孩两人搬一块。问用45人正好搬45块砖,男人、女人、小孩各多少人?
本题的思路是通过for循环穷举出男人、女人的人数,再利用if条件判断是否符合题目要求,符合要求则输出数据。
#include<stdio.h>
#define work 45
#define power_m 3
#define power_w 2
#define power_c 1.0/2
int main(void)
{
int men;
int women;
int children;
for (men = 0; men <= 15; men++)
{
for (women = 0; women <= 22; women++)
{
for (children = 0; children <= 90; children++)
{
if (power_m * men + power_w * women + power_c * children == work && men + women + children == work)
printf("men=%d,women=%d,child=%d\n", men, women, children);
}
}
}
}