用C语言编程写:有100个馍,100个和尚,大和尚一人吃了3个馍,小和尚3人吃了一个馍,问大小和尚各多少人?

如题所述

#include<stdio.h>

int main()

{

int x, y;

for(x=1; x<34; x++)

{

y = 100 - x;

if(y%3 == 0)

if(3*x + y/3 == 100)

printf("x = %d, y = %d\n", x, y);

}

return 0;

}

扩展资料:

鸡兔同笼,是中国古代著名典型趣题之一,记载于《孙子算经》之中。鸡兔同笼问题,是小学奥数的常见题型。

"鸡兔同笼"是一类有名的中国古算题。最早出现于《孙子算经》中。许多小学算术应用题都可以转化成这类问题,或者用解它的典型解法--"假设法"来求解。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-23
设有x个大和尚,那么有100-x个小和尚,因为只有100个馍,大和尚最多有33个,大和尚的个数从0增到33,循环体为判断大和尚吃的馍和小和尚吃的馍总和是否为100,就可以了

#include<stdio.h>
void main(){ for(int i=1;i<=33;i++)
{
int x=100-i;
if(x%3==0&&i*3+x/3==100)
{
printf("大和尚%d\n小和尚%d\n",i,x);
}
}
}
第2个回答  2013-03-23
#include<stdio.h>
int main()
{
int x, y;
for(x=1; x<34; x++)
{
y = 100 - x;
if(y%3 == 0)
if(3*x + y/3 == 100)
printf("x = %d, y = %d\n", x, y);
}
return 0;
}本回答被提问者采纳
第3个回答  2013-03-23
int main()
{
int x,y;
for(x=1;x<=100;x++)
for(y=1;y<=100;y++)
if((x+y==100)&&(3*x+y/3==100))
printf("大和尚有:%d个\n小和尚有:%d个\n",x,y);
system("pause");
return 0;
}
第4个回答  2013-03-23
main()
{
int b,s;
for(b=1;b<34;b++)
{
s=100-b;
if(b*3+s/3==100)
{
printf("Big:%d Small:%d/n",b,s);
}
}
}