百錢買百雞的問題算是一套非常經典的不定方程的問題,題目很簡單:公雞5文錢乙隻,母雞3文錢乙隻,小雞3只一文錢,
用100文錢買一百隻雞,其中公雞,母雞,小雞都必須要有,問公雞,母雞,小雞要買多少只剛好湊足100文錢。
分析:估計現在小學生都能手工推算這套題,只不過我們用計算機來推算,我們可以設公雞為x,母雞為y,小雞為z,那麼我們
可以得出如下的不定方程,
x+y+z=100,
5x+3y+z/3=100,
下面再看看x,y,z的取值範圍。
由於只有100文錢,則5x<100 => 0由於此處我們不是數學上研究不等式解法,而是讓計算機為我們計算結果,所有暫不考慮效率問題。於是,從變數上我們便可以看出可以在三個迴圈中,逐個選出匹配條件。
針對本題我的解決辦法(運用雙while迴圈語句**如下):
x=
0money=
100a=
100while x<20:
y =0while y<33:
y+=1if
5*x+
3*y+
(money-x-y)/3
==money and x+y+
(money-x-y)
==a:
print
("公雞有{}只;母雞有{}只;小雞有{}只"
.format
(x,y,money-x-y)
) x+=
1
答案:
公雞有0只;母雞有25只;小雞有75只
公雞有4只;母雞有18只;小雞有78只
公雞有8只;母雞有11只;小雞有81只
公雞有12只;母雞有4只;小雞有84只
解題思路由乘法表所獲:
列印乘法表**如下:
i=
1while i<10:
j=1while j<=i:
print
("{}*{}={}\t"
.format
(j,i,i*j)
,end="")
j+=1 i+=
1print
()
結果:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
Python分支 簡單迴圈
定義乙個年齡 age 2 設定判斷元素 if age 18 print 歡迎光臨本網咖!print 哈哈 你來啦!else print 未成年禁止上網哦!print 這條 看看什麼時候執行?age是定義年齡的變數,然後開始設定判斷元素也就是if 追後輸入age 的變數 切記 最後一定要加 號!重點 ...
python單迴圈整除8 while單迴圈練習
4999元包郵 去購買 單迴圈實現一行十個 方法一 i 0 while i 10 print end i 1 print 方法二 通過變數的形式實現 i 0 str var while i 10 strvar i 1 print strvar 單迴圈實現十個換色 i 1 while i 10 if ...
簡單迴圈陣列實現佇列
最近在看資料結構與演算法之類的書,看到喜歡的小東西隨手記一下。簡單迴圈陣列構造佇列結構 author administrator 2018年12月12日 下午8 30 47 public class arrayqueue 佇列是否為空 return author administrator 2018...