百马百担问题。有100匹马驮100担货,大马驮3担,中马驮2担,两个小马驮1担。问有大中小马各多少 10
#include <stdio.h>
void main()
{
int big,mid,small,sum=0;
for(big=0;big<33;big++)
for(small=0;small<100;small+=2)
for(mid=0;mid<50;mid++)
{
if(3*big+2*mid+small/2==100&&big+mid+small==100)
{
printf("big:%d\tmid:%d\tsmall:%d\n",big,mid,small);
sum++;
}
}
printf("%d\n",sum);
}
扩展资料:
假设大马有X匹,中马有Y匹。因为有100匹马,所以有(100-X-Y)匹。又因为大马驮3担,中马驮2担,两个小马驮1担,且100匹马驮100担货,所以有二元一次方程等式为3X+2Y+(100-X-Y)/2=100,化简可得Y=(100-5X)/3。
大马有X匹,中马有(100-5X)/3匹,小马有(200+2X)/3匹。因为大中小马为整数,所以有:
1、大马有2匹,中马有30匹,小马有68匹。
2、大马有5匹,中马有25匹,小马有70匹。
3、大马有8匹,中马有20匹,小马有72匹。
4、大马有11匹,中马有15匹,小马有74匹。
5、大马有14匹,中马有10匹,小马有76匹。
6、大马有17匹,中马有5匹,小马有78匹。
7、大马有20匹,中马有0匹,小马有80匹。
大哥,写出来啊!我参考一下
手机写的太麻烦 楼下哪位兄弟也是一种解答 可以参考一下
void main()
{
int i,j,k;
for(i=1;i<34;i++)
{
for(j=1;j<51;j++)
{
for(k=1;k<=200;k++)
{
if((3*i+2*j+k/2.0==100)&&(i+j+k==100))
{
printf("大马有%d,中马有%d,小马有%d\n",i,j,k);
}
}
}
}
}
2015-11-12
不回答就不要讲话