小林發(fā)現(xiàn)他的魚缸里的觀賞魚越來越少了。仔細(xì)觀察才發(fā)現(xiàn),即使按時喂魚,一些大魚也會爭著吃小魚—一但是不會吃比它小太多的魚。準(zhǔn)確地講,若一條大小是ai的魚,當(dāng)存在另外一條魚aj個頭嚴(yán)格比它小,但個頭差不超過整數(shù)k時(即ai-aj)≤k),ai會吃掉aj—一吃掉后,ai不會變大,aj會消失。
如:當(dāng)魚的大小是a=[101,53,42,102,101,55,54]且k=1時,一種可能的掠食過程是(下劃線表示被吃):[101,53,42,102,101,55,54]→[101,53,42,102,55,54]→[101,42,102,55,54]→[42,102,55,54]→[42,102,55],最后只剩下3條魚。小林想用Python程序模擬研究一下,對于給定的魚大小和k的值,最壞情況下會剩幾條魚。
(1)若a=[20,15,10,15,31,20,25],k=5,則最壞情況下會剩 22條魚。
(2)研究前,小林先對a 中所有數(shù)據(jù)進(jìn)行升序排序,請完成下面的程序。
(3)以下程序從最小的魚兒開始模擬讓較大的魚吃較小的魚,無法吃掉的魚保存在st變量中,結(jié)束后輸出st中剩余的元素個數(shù)就是最壞情況下所剩魚的數(shù)量。請完善算法。
(4)對于剩下的魚中,是否還存在某種大小的魚兒。輸入魚的大小,查詢該尺寸的魚兒是否還存在。請完善以下算法。
【考點】程序設(shè)計實例.
【答案】2
【解答】
【點評】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/6/27 10:35:59組卷:1引用:1難度:0.3
相似題
-
1.公因數(shù)只有1的兩個非零自然數(shù),叫做互質(zhì)自然數(shù)。王老師編寫了一個Python程序,程序的功能是隨機(jī)產(chǎn)生5個1到20之間的整數(shù),找出其中和最大的互質(zhì)數(shù)對。程序運(yùn)行界面如圖所示:
實現(xiàn)該功能的程序代碼如下:
請回答下列問題:
(1)尋找互質(zhì)數(shù)對的算法屬于
(2)如產(chǎn)生的 5 個隨機(jī)數(shù)是[20,16,12,6,14],則程序輸出內(nèi)容是
(3)要實現(xiàn)程序的功能,請完善橫線處的代碼。發(fā)布:2024/12/20 18:0:1組卷:3引用:1難度:0.4 -
2.小紅用Python編寫程序畫出了如圖形,在第三行下劃線處應(yīng)該填寫( )
發(fā)布:2024/12/18 11:0:1組卷:2引用:1難度:0.6 -
3.【加試題】小丫覺得回文字符串太優(yōu)美了(回文字符串是指順讀和倒讀都一樣的字符串,如“123321”),為此編寫了VB 程序。程序運(yùn)行時,單擊按鈕Command1 后,根據(jù)文本框Text1 中輸入的內(nèi)容判斷并輸出是不是回文串。實現(xiàn)上述功能的VB 代碼如下。
Private Sub Command1_Click( ?。?br />Dim s As String,f As Boolean,L As Integer
s=Text1.Text
j=Len(s)
i=1
Do while?、?/bdo>
i=i+1
j=j-1
Loop
If?、?/bdo>Then Print“是回文串“Else Print“不是回文串“
End Sub
在畫線處填入合適代碼,使程序能正常運(yùn)行。
①
②發(fā)布:2024/12/19 14:30:2組卷:0引用:1難度:0.4
把好題分享給你的好友吧~~