中用c语言写如下程序:国古典算术问题)某工地需要搬运砖块,已知男人一人搬3块,女人一人搬2块,小孩两人搬一块。问用45人正好搬45块砖,有多少种搬法?
时间: 2023-07-15 19:11:07 浏览: 180
(中国古典算术问题)某工地需要搬运砖块,已知男人一人搬3块,女人一人搬2块,小孩两人搬一块。问用45人正好搬45块砖,有多少种搬法?(1).c
5星 · 资源好评率100%
以下是用C语言实现的程序:
```c
#include <stdio.h>
int main() {
int man, woman, child, count = 0;
for(man = 0; man <= 15; man++) { // 最多15个男人
for(woman = 0; woman <= 22; woman++) { // 最多22个女人
child = 45 - man - woman; // 剩下的是小孩的数量
if(child % 2 == 0 && man * 3 + woman * 2 + child / 2 == 45) {
printf("方案 %d: %d 个男人,%d 个女人,%d 个小孩\n", ++count, man, woman, child);
}
}
}
printf("总共有 %d 种搬法\n", count);
return 0;
}
```
程序中使用了两个循环,分别枚举男人和女人的数量,然后计算出小孩的数量。如果小孩的数量是偶数,并且总共搬运的砖块数量刚好是45,那么就说明这是一种符合要求的搬运方案,打印出来并且计数器加1。最后输出总共的搬运方案数量。
阅读全文