百钱买百鸡的流程图

C语言 编写
已知一只公鸡5元 母鸡1元 小鸡3只一元 求100元怎么买才能买100只鸡? 共有几种

#include <stdio.h>。

void main()。
{
int mj,gj,xj,n=0;

printf(" 百元买百鸡题求解方案\n") ;
printf(" ----------------------\n") ;

printf("\t母鸡\t公鸡\t小鸡\n") ;
for(mj=0;mj<=100;mj++)

for(gj=0;gj<=100;gj++)
{

xj=100-mj-gj;
if(xj*0.5+mj*3+gj*2==100)

扩展资料:

C的程序比其他用别的语言写的程序,实现相同的功能,它用的代码行数更少,而它带来的运行效率更快。有时候,你的程序所需要的速度,只有C语言能做到。

学习过C语言,就能学习现在任何的高级编程语言。因为所有的高级语言都是以C语言为基础的(像JAVA,C++,C#等等)。

因为C语言已经存在很多年了,它有广泛的使用团体并且有大量的现成代码可以利用。这就使能在过去程序的基础上,快速和高效的编写新的算法和函数。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-02-18
因为母鸡一元一只不用考虑了
只考虑x只公鸡y只小鸡只要x+y元就可以了
结果就是:y=6x
代码就是:
for(int x=0;x<21;x++)if(7*x<=100)cout<<x<<"只公鸡"<<100-x-6*x<<"只母鸡"<<6*x<<"只小鸡";本回答被网友采纳
第2个回答  2008-03-08
#include <stdio.h>
#include <conio.h>
main()
{
int i,j,k;
printf("\n");
for (i=1;i<20;i++)
for (j=1;j<30;j++)
for (k=1;k<100;k++)
if (i!=j&&i!=k&&j!=k)
if (i+j+k==100)
if (k%3==0)
if (5*i+3*j+k/3==100)
printf("%d %d %d\n",i,j,k);

getch();
}
第3个回答  2020-11-19
第4个回答  2008-02-27
百钱百鸡问题中国古代数学家张丘建在他的《算经》中提出了著名的“百钱买百鸡问题”:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?
*题目分析与算法设计设鸡翁、鸡母、鸡雏的个数分别为x,y,z,题意给定共100钱要买百鸡,若全买公鸡最多买20只,显然x的值在0~20之间;同理,y的取值范围在0~33之间,可得到下面的不定方程: 5x+3y+z/3=100 x+y+z=100 所以此问题可归结为求这个不定方程的整数解。由程序设计实现不定方程的求解与手工计算不同。在分析确定方程中未知数变化范围的前提下,可通过对未知数可变范围的穷举,验证方程在什么情况下成立,从而得到相应的解。 *程序说明与注释:
#include void main() { int x,y,z,j=0; printf("Folleing are possible plans to buy 100 fowls with 100 Yuan.\n"); for(x=0;x<=20;x++) /*外层循环控制鸡翁数*/ for(y=0;y<=33;y++) /*内层循环控制鸡母数y在0~33变化*/ { z=100-x-y; /*内外层循环控制下,鸡雏数z的值受x,y的值的制约*/ if(z%3==0&&5*x+3*y+z/3==100) /*验证取z值的合理性及得到一组解的合理性*/ printf("%2d:cock=%2d hen=%2d chicken=%2d\n",++j,x,y,z); } }
*运行结果 : Follwing are possible plans to buy 100 fowls with 100 Yuan. 1:cock=0 hen=25 chicken=75 2:cock=4 hen=18 chicken=78 3:cock=8 hen=11 chicken=81 4:cock=12 hen=4 chicken=84
*总是的进一步讨论这类求解不定方程总理的实现,各层循环的控制变量直接与方程未知数有关,且采用对未知数的取值范上穷举和组合的方法来复盖可能得到的全部各组解。能否根据题意更合理的设置循环控制条件来减少这种穷举和组合的次数,提高程序的执行效率,请读者考虑

参考资料
http://blog.programfan.com/trackback本回答被提问者采纳
相似回答