百钱买百鸡问题,这个也就是一个解出一个多元线性方程组的所有解的问题。
#include <stdio.h>
int main()
{
int i, j, k,n,fact=0;
scanf("%d",&n);
for( i=0; i <=n ; i++ )
for( j=0; j <= n; j++ )
for( k=0; k <= n; k++ )
{
if( 5*i+3*j+k/3==n && k%3==0 && i+j+k==n )
{ fact=1;
printf("%4d%4d%4d\n", i, j, k);
}
}
if(fact==0)
printf("No Answer");
return 0;
}这样可以通过让母鸡 公鸡 小鸡的值分别取得0到之间所有的整数,相当于让计算机去试错,并把满足条件的解输出。
遇到实际问题如果能抽象出来一个解多元线性方程组的问题,可以用这个思路去解决。