數字炸彈和百錢百雞

2021-10-01 08:10:10 字數 1955 閱讀 5051

今天和大家分享兩個小遊戲:

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 最後得到的答案如下...

百錢買百雞

這是個很簡單的邏輯,本來沒有什麼太多值得分享的。並且實現程式網上隨處可見,鄙人也並未提出更高深的意見。在閒暇看書時,對比了以下兩種實現。發現,其 實數學計算的不定性,可利用計算機的不斷重複 篩選 得到想要結果 如第一種實現 但是,顯而易見的是,第一種實現有個複雜度的問題。而第二種實現,是在數學計算推...