当前位置:文档之家› C语言算法百钱买百鸡

C语言算法百钱买百鸡


/*
程序演示:
百钱买百鸡的的问题:
鸡公一个,值钱五,鸡母值钱三,小鸡值钱一,百钱买百鸡,问公鸡,母鸡,小鸡各是几个


分析:

方程式如下:
a+b+c=100(百鸡)
5a+3b+c/3=100(百钱)
c%3=0


*/


/*
#include "stdio.h"

void main()
{
int x, y ,z; //定义三个数进行循环

for (x=0; x<=100; x++)
{
for (y=0; y<=100; y++)
{
for (z=0; z<=100; z++)
{
if ((x+y+z==100)&&(5*x+3*y+z/3==100)&&(z%3==0)) //满足上面的条件时,就得出相应的结果
{
printf("x=%d,y=%d,z=%d\n",x, y, z);
}
}
}
}

}
*/





/*
对于上面的程序是时间复杂度是很大的,101*101*101的时间复杂度,可以对上面的程序进行优化
分析:上面的公鸡最多也就是买20个,母鸡最多是买33个,小鸡个数就等于100-公鸡和母鸡剩下的钱来买
*/

#include "stdio.h"

void main()
{
int x, y, z;
for (x=0; x<=20; x++)
{
for (y=0; y<=33; y++)
{
z=100-x-y;

if ((5*x+3*y+z/3==100) && (z%3==0))
{
printf("x=%d,y=%d,z=%d\n",x,y,z);
}
}
}

}

相关主题
文本预览
相关文档 最新文档