#include<>int main(){int a=0,b,c;while(a<=20) //鸡翁个数不能超过20个{for(b=0;b<=33;b++)//鸡母个数不能超过100/3个for(c=0;c<=300;c=c+3)//鸡雏个数不超过300只,for循环下的循环{if(a+b+c==100 && a*5+b*3+c/3==100)//三种鸡总共100只 价钱共100printf("鸡翁:%d\n 鸡母:%d\n 鸡雏:%d\n\n\n",a,b,c);}a++;//与前面while循环联系}return 0;}
1.抽象出数学模型,这里指的就是方程组 设公鸡为x,母鸡为y,小鸡为z, 鸡: x+y+....减少一个循环的嵌套,模型不变,进一步优化算法 2. #include<....每使用一个for(x)循环,就相当于将一个未知数(x)变成已知数(x), 两个方程两...4.我们发现 x以4递增,y以7递减, z以3递增,所以可以直接打印
设公鸡X只,母鸡Y只,小鸡Z只, 5X+3Y+3/Z=100,X,Y,Z为整数, 四种方案: 公鸡 母鸡 小鸡 ① 0 25 75 ② 4 18 78 ③ 8 11 81 ④ 12 4 84
百鸡问题是我国古代一个极为著名的数学问题,也是古代世界著名数学问题之一。百鸡问题出自中国古代算书《张丘建算经》,题意是这样的:公鸡5元1只,母鸡3元1只,小鸡3只1元,100元可买100只鸡。问可买公鸡、母鸡和小鸡各多少只?答案有三种①公鸡4只,母鸡18只,小鸡78只;②公鸡8只,母鸡11只,小鸡81只;③公鸡12只,母鸡4只,小鸡84只。百鸡问题是一个求不定方程整数解的问题,解法如下:设公鸡x织,母鸡y只,小鸡z只。根据题意可列出方程组:x+y+z=1005x=3y+13z=100消去z,可得7x+4y=100,因此y=100-7x4=25-7x4。由于y表示母鸡的只数,它一定是正整数,因此Χ必须得4的倍数。我们把它写成:x=4K(K∈N)。于是y=25-7K。代入原方程组,可得z=75+3K。把上面三个式子写在一起有:x=4Ky=25-7Kz=75+3k在一般情况下,当K取不同的数值时,可得到x、y、z的许许多多组不同的数值。但是对于上面这个具体问题,由于Y∈N,故K只能取1、2、3三个数值,由此得到本题的三种答案。
百鸡问题的最简单算法 - 百度文库百鸡问题的四种(层)解法鸡: x+y+z=100 钱: 5x+3y+1/3z=100 2.算法 #include using namespace std; int main(){ int x,y,z; for(x=0;x<...
357 浏览 2 回答
213 浏览 4 回答
302 浏览 6 回答
337 浏览 5 回答
270 浏览 3 回答
303 浏览 6 回答
178 浏览 3 回答
349 浏览 5 回答
199 浏览 2 回答
208 浏览 4 回答
131 浏览 2 回答
96 浏览 4 回答
304 浏览 5 回答
262 浏览 4 回答
351 浏览 8 回答
113 浏览 3 回答
193 浏览 3 回答
153 浏览 5 回答
349 浏览 3 回答
187 浏览 4 回答
130 浏览 6 回答
136 浏览 3 回答
277 浏览 5 回答
192 浏览 6 回答
344 浏览 3 回答