有36块砖,共36人搬,成年男子一次搬4块砖,成年女子一次搬3块砖,儿童两人抬1块砖,恰好一次全部搬完,编程求出成年男子成年女子和儿童各有多少人?
main()
{ int man,woman,child;
{for(man=1;man<9;man++)
for(woman=1;woman<12;woman++)
for(child=1;child<36;child++)
if(child%2==0&&man+woman+child==36&&(man*4+woman*3+child/2)==36)
printf("man=%d,woman=%d,child=%d",man,woman,child);
}
}。
。
for(man=1;man<9;man++) 中man为整型变量,因男人一次搬4块砖,最多搬9次可搬完故man的值在1到9之间,for为循环语句。 以下同理, 只在第三句中child因为搬1块砖要两人,故其值在2到12之间,且步长为+2。
这可以用遍历方法求出 相对比较简单的
int main()
{
for(man=1;man<9;man++)
{
for(woman=1;woman<12;woman++)
{
for(child=2;child<30*2;child=+2;)
{
if((man*4+woman*3+child/2)==36)
{
print("man:%d,woman:%d,child:%d",man,woman,child);
}
}
}
}
}。