當前位置:首頁 » 操作系統 » 百元買百雞演算法

百元買百雞演算法

發布時間: 2022-12-15 19:56:01

㈠ 百錢百雞(窮舉演算法)

設公雞、母雞、小雞分別為x、y、z 只,由題意得:

x+y+z =100……①
5x+3y+(1/3)z =100……②
有兩個方程,三個未知量,稱為不定方程組,有多種解。

令②×3-①得:7x+4y=100;

即:y =(100-7x)/4=25-(7/4)x

由於y 表示母雞的只數,它一定是自然數,而4 與7 互質,因此x 必須是4 的倍數。我們把它寫成:x=4k(k 是自然數),於是y=25-7k,代入原方程組,可得:z=75+3k。把它們寫在一起有:
x =4k
y =25 - 7k
z =75+ 3k

一般情況下,當k 取不同數值時,可得到x、y、z 的許多組值。但針對本題的具體問題,由於x、y、z 都是100 以內的自然數,故k 只能取1、2、3 三個值,這樣方程組只有以下三組解:

一、 x =4;y =18;z =78

二、 x =8;y =11;z =81

三、 x =12;y =4;z =84

㈡ 百雞百錢問題(帶解答過程,最好是算數方法)

設買公雞x只,買母雞y只,買小雞z只,那麼根據已知條件列方程,有:

x+y+z=100…………(1)

5x+3y+z/3=100……(2)

(2)×3-(1),得

14x+8y=200

也就是7x+4y=100……(3)

在(3)式中4y和100都是4的倍數:

7x=100-4y=4(25-y)

因此7x也是4的倍數,7和4是互質的,也就是說x必須是4的倍數。

設x=4t

代入(3),得 y=25-7t

再將 x=4t 與 y=25-7t 代入(1),有:

z=75+3t

取t=1 t=2 t=3 就有

x=4 y=18 z=78

或 x=8 y=11 z=81

或 x=12 y=4 z=84

因為x、y、z都必須小於100且都是正整數,所以只有以上三組解符合題意。

解方程依據

1、移項變號:把方程中的某些項帶著前面的符號從方程的一邊移到另一邊,並且加變減,減變加,乘變除以,除以變乘;

2、等式的基本性質:

(1)等式兩邊同時加(或減)同一個數或同一個代數式,所得的結果仍是等式。用字母表示為:若a=b,c為一個數或一個代數式。

(2)等式的兩邊同時乘或除以同一個不為0的數,所得的結果仍是等式。用字母表示為:若a=b,c為一個數或一個代數式(不為0)。

㈢ 典型問題:百錢買百雞的演算法

百錢買百雞問題——一百個銅錢買了一百隻雞,其中公雞一隻5錢、母雞一隻3錢,小雞一錢3隻,問一百隻雞中公雞、母雞、小雞各多少)。
這是一個古典數學問題,設一百隻雞中公雞、母雞、小雞分別為x,y,z,問題化為三元一次方程組:

這里x,y,z為正整數,且z是3的倍數;由於雞和錢的總數都是100,可以確定x,y,z的取值范圍:
1) x的取值范圍為1~20
2) y的取值范圍為1~33
3) z的取值范圍為3~99,步長為3
對於這個問題我們可以用窮舉的方法,遍歷x,y,z的所有可能組合,最後得到問題的解。
數據要求
問題中的常量:

問題的輸入:

問題的輸出:
int x,y,z /*公雞、母雞、小雞的只數*/
初始演算法
1.初始化為1;
2.計算x循環,找到公雞的只數;
3.計算y循環,找到母雞的只數;
4.計算z循環,找到小雞的只數;
5.結束,程序輸出結果後退出。
演算法細化
演算法的步驟1實際上是分散在程序之中的,由於用的是for循環,很方便的初始條件放到了表達式之中了。
步驟2和3是按照步長1去尋找公雞和母雞的個數。
步驟4的細化
4.1 z=1
4.2 是否滿足百錢,百雞
4.2.1 滿足,輸出最終百錢買到的百雞的結果
4.2.2 不滿足,不做處理
4.3 變數增加,這里注意步長為3
流程圖

圖5-8 程序執行流程圖
程序代碼如下
#include "stdio.h"
main()
{
int x,y,z;
for(x=1;x<=20;x++)
for(y=1;y<=33;y++)
for(z=3;z<=99;z+=3)
{
if((5*x+3*y+z/3==100)&&(x+y+z==100))/*是否滿足百錢和百雞的條件*/ printf("cock=%d,hen=%d,chicken=%d\n",x,y,z);
}
}
分析
程序運行結果如下:
cock=4,hen=8,chicken=78
cock=8,hen=11,chicken=81
cock=12,hen=4,chicken=84
對於這個問題實際上可以不用三重循環,而是用二重循環,因為公雞和母雞數確定後,小雞數就定了,即 。請同學們自己分析二重循環和三重循環的運行次數,做為練習自己調試這一方法。參考資料:東北大學計算中心 --網路文庫

熱點內容
美國雲伺服器租用平台 發布:2025-07-14 12:37:21 瀏覽:907
android單選列表 發布:2025-07-14 12:20:06 瀏覽:726
刷紅玉腳本 發布:2025-07-14 12:19:32 瀏覽:246
貪心演算法會場安排 發布:2025-07-14 11:52:48 瀏覽:758
健康教育傳播腳本 發布:2025-07-14 11:16:12 瀏覽:157
誅仙手游煉器有腳本嗎 發布:2025-07-14 11:10:05 瀏覽:501
編程寫筆記 發布:2025-07-14 11:05:53 瀏覽:252
notepad編譯c教程 發布:2025-07-14 11:05:44 瀏覽:473
安卓版音樂怎麼設置 發布:2025-07-14 10:46:18 瀏覽:554
少兒編程線上費用 發布:2025-07-14 10:41:40 瀏覽:790