百马百担c语言编程答案
时间: 2023-11-20 15:54:09 浏览: 534
百马百担问题是一个经典的数学问题,需要计算100匹马驮100担货的所有可能的驮法。以下是两个C语言编程答案:
答案1:
```c
#include <stdio.h>
int main() {
int a,b,c,sum;
for (a=0;a<=33;a++) {
for(b=50;b>=0;b--) {
c=100-a-b;
if (c%2!=0) continue;
sum=3*a+2*b+c/2;
if(sum==100) printf("%d,%d,%d\n",a,b,c);
}
}
return 0;
}
```
答案2:
```c
#include <stdio.h>
int main() {
int a, b, c;
for (int a = 0; a <34 ; a++) { //大马
for (int b = 0; b < 51; b++) { //中马
for (int c = 0; c < 201; c++) { //小马
if (a + b + c == 100 && 3 * a + 2 * b + 0.5 * c == 100) { //满足条件时
printf("大马:%d 小马:%d 中马:%d\n",a,b,c);
}
}
}
}
return 0;
}
```
这两个答案都使用了嵌套循环来枚举所有可能的驮法,其中第一个答案使用了一些优化来减少循环次数。第二个答案则直接依次累加得出。需要注意的是,小马的数量必须为偶数才能实现每两匹马驮一担。
阅读全文