假设最多可能有1000个和尚在山上,用下面的程序可穷举出来
#define TOTAL_MAN 1000
void main(void)
{
int i, j; //i表示大和尚,j表示小和尚
for(i=1; i{
for(j=1; j{
if ( i + j == (i*(41/7.0) + j*(11/29.0)))
{
break;
}
}
if (j < TOTAL_MAN-i)
{
break;
}
}
if(i < TOTAL_MAN)
{
printf("大和尚%d个,小和尚%d个,共%d个和尚\r\n", i, j, i+j);
}
else
{
printf("无解,调整总和尚人数\r\n");
}
getchar();
}
不用编程吧。。。
设大和尚A个,小和尚a个,总共每天吃n个馒头
则n=A+a,n=A*41/7+a*11/29
得到63a=493A
要算n=a+A(三个数全是自然数)的最小值(不就直接算出来了嘛)
n=556