题目:百马百担问题。有100匹马,驮100担货,大马驮3担,中马驮2担,两匹小马1担,编程计算所有可能的驮法?
输入
无
输出
输出所有可能的驮法。
2,30,68
5,25,70
8,20,72
11,15,74
14,10,76
17,5,78
20,0,80
#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;
}
大马的数量始终不可能超过33,中马的数量始终不超过50,而小马的数量又可以通过大马,中马来控制,而且还要保证小马数量为偶数。
这个代码还有点参考了其他人的思路,嗯,还需要加油啊。