今天和大家分享兩個小遊戲:
1.數字炸彈
數字炸彈遊戲規則:在乙個數字範圍內,有乙個數字作為炸彈,誰猜中這個炸彈就被懲罰.…
直到有人猜中這個炸彈,然後就受到懲罰,也就是列印**。
``要求:你輸入乙個,如果不是**數字,讓電腦也要輸入乙個在縮小範圍之後的任意數 ,如果電腦輸入不對,縮小範圍然後你再次輸入,直到輸入正確為止,
import random
boomnum= random.randint(1,
100)
start =
0end =
100while
true
: a =
int(
input
('請輸入{}到{}之間的數字:'
.format
(start, end)))
if a>boomnum:
print
("大了,遊戲繼續:"
) end = a -
1elif aprint
("小了,遊戲繼續:"
) start = a +
1elif a==boomnum:
print
("咚!炸彈**!"
)break
cpu = random.randint(start,end)
print
("電腦輸入了{}"
.format
(cpu)
)if cpu>boomnum:
print
("大了,遊戲繼續:"
) end = cpu -
1elif cpuprint
("小了,遊戲繼續:"
) start = cpu +
1elif cpu==boomnum:
print
("咚!炸彈**!"
)break
結果:
請輸入0到100之間的數字:20
大了,遊戲繼續:
電腦輸入了14
大了,遊戲繼續:
請輸入0到13之間的數字:11
大了,遊戲繼續:
電腦輸入了5
小了,遊戲繼續:
請輸入6到10之間的數字:8
咚!炸彈**!
2.百錢百雞問題:
百錢買百雞的問題算是一套非常經典的不定方程的問題,題目很簡單:公雞5文錢乙隻,母雞3文錢乙隻,小雞3只一文錢,
用100文錢買一百隻雞,其中公雞,母雞,小雞都必須要有,問公雞,母雞,小雞要買多少只剛好湊足100文錢。
分析:估計現在小學生都能手工推算這套題,只不過我們用計算機來推算,我們可以設公雞為x,母雞為y,小雞為z,那麼我們
可以得出如下的不定方程,
x+y+z=100,
5x+3y+z/3=100,
下面再看看x,y,z的取值範圍。
由於只有100文錢,則5x<100 => 0由於此處我們不是數學上研究不等式解法,而是讓計算機為我們計算結果,所有暫不考慮效率問題。於是,從變數上我們便可以看出可以在三個迴圈中,逐個選出匹配條件。
for x in
range(1
,20):
for y in
range(1
,33):
z=100-x-y
if5*x +
3*y +z/3==
100and z %3==
0:print
("公雞 %d 只 母雞 %d 只 小雞 %d 只"
%(x,y,z)
)
結果:
公雞 4 只 母雞 18 只 小雞 78 只
公雞 8 只 母雞 11 只 小雞 81 只
公雞 12 只 母雞 4 只 小雞 84 只
3 C語言百錢買百雞(百錢百雞,百雞問題)
中國古代數學家張丘建在他的 算經 中提出了乙個著名的 百錢買百雞問題 雞翁一,值錢五,雞母一,值錢三,雞雛三,值錢一,百錢買百雞,問翁 母 雛各幾何?1 使用 for 語句對 3 種雞的數嫌在事先確定好的範圍內進行窮舉並判斷,對滿足條件的 3 種雞的數量按指定格式輸出,否則進行下次迴圈。2 程式 如...
百錢百雞問題
問題陳述 這是我國古代一道有名的數學難題,要求用100元買100隻雞,其中公雞五元乙隻,母雞三元乙隻,每種至少買乙隻,求購買方案,程式中以x代表公雞,y代表母雞,z代表小雞 static void main string args 母雞 小雞 x,y,z console.read 最後得到的答案如下...
百錢買百雞
這是個很簡單的邏輯,本來沒有什麼太多值得分享的。並且實現程式網上隨處可見,鄙人也並未提出更高深的意見。在閒暇看書時,對比了以下兩種實現。發現,其 實數學計算的不定性,可利用計算機的不斷重複 篩選 得到想要結果 如第一種實現 但是,顯而易見的是,第一種實現有個複雜度的問題。而第二種實現,是在數學計算推...