班級(jí)教室里新建了一個(gè)圖書(shū)角,班級(jí)的同學(xué)可從圖書(shū)角中借書(shū)或者還書(shū)。班長(zhǎng)用一個(gè)整數(shù)序列記錄了借還書(shū)情況,他用負(fù)整數(shù)表示借書(shū)數(shù)量,正整數(shù)表示還書(shū)數(shù)量,比如有一個(gè)整數(shù)序列[-3,5,1,2],表示有4位同學(xué)分別進(jìn)行借書(shū)3本,還書(shū)5本,1本和2本。
有一天班長(zhǎng)想核對(duì)自己的記錄和圖書(shū)角的書(shū)本是否一致,但是他忘記了是從哪一位同學(xué)開(kāi)始記錄的借還書(shū),他只記得開(kāi)始記錄時(shí)圖書(shū)角的書(shū)已經(jīng)全部借出,即圖書(shū)角的書(shū)本數(shù)量為0。例如有如下整數(shù)序列[-3,5,1,2]表示4位同學(xué)的借還書(shū)情況,假設(shè)某個(gè)方案是從第3位同學(xué)開(kāi)始記錄,則這4位同學(xué)借還書(shū)情況分別是還書(shū)1本,還書(shū)2本,借書(shū)3本,還書(shū)5本。班長(zhǎng)想知道在所有操作方案中有多少是可行的(有的方案會(huì)造成書(shū)本累計(jì)數(shù)量為負(fù)的情況,這樣是不可行的)。班長(zhǎng)希望有同學(xué)能設(shè)計(jì)一個(gè)程序來(lái)計(jì)算根據(jù)給定的整數(shù)序列有多少種可行的方案。
(1)小明解決該問(wèn)題的方案如下:

(2)小紅則認(rèn)為既然是循環(huán)的操作,可以將該整數(shù)序列展開(kāi)成[-3,5,1,2,-3,5,1],用數(shù)組s[i]存儲(chǔ)a[0]到a[i]的和,s[j]-s[i-1]可以表示i~j所有數(shù)的和,在長(zhǎng)度為n的序列中尋找從第一項(xiàng)開(kāi)始累加總和最小的值,并判斷是否可行,即是否大于等于0。
小紅解決該問(wèn)題的方案如下:

(3)算法(1)和算法(2)的時(shí)間復(fù)雜度相比 CC(選填字母:A.算法(1)時(shí)間復(fù)雜度更大;B.算法(2)時(shí)間復(fù)雜度更大;C.兩種算法時(shí)間復(fù)雜度相等)
【考點(diǎn)】程序設(shè)計(jì)實(shí)例.
【答案】C
【解答】
【點(diǎn)評(píng)】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書(shū)面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/11/1 10:30:1組卷:3引用:1難度:0.3
相似題
-
1.公因數(shù)只有1的兩個(gè)非零自然數(shù),叫做互質(zhì)自然數(shù)。王老師編寫(xiě)了一個(gè)Python程序,程序的功能是隨機(jī)產(chǎn)生5個(gè)1到20之間的整數(shù),找出其中和最大的互質(zhì)數(shù)對(duì)。程序運(yùn)行界面如圖所示:
實(shí)現(xiàn)該功能的程序代碼如下:
請(qǐng)回答下列問(wèn)題:
(1)尋找互質(zhì)數(shù)對(duì)的算法屬于
(2)如產(chǎn)生的 5 個(gè)隨機(jī)數(shù)是[20,16,12,6,14],則程序輸出內(nèi)容是
(3)要實(shí)現(xiàn)程序的功能,請(qǐng)完善橫線處的代碼。發(fā)布:2024/12/20 18:0:1組卷:3引用:1難度:0.4 -
2.小紅用Python編寫(xiě)程序畫(huà)出了如圖形,在第三行下劃線處應(yīng)該填寫(xiě)( )
發(fā)布:2024/12/18 11:0:1組卷:2引用:1難度:0.6 -
3.【加試題】小丫覺(jué)得回文字符串太優(yōu)美了(回文字符串是指順讀和倒讀都一樣的字符串,如“123321”),為此編寫(xiě)了VB 程序。程序運(yùn)行時(shí),單擊按鈕Command1 后,根據(jù)文本框Text1 中輸入的內(nèi)容判斷并輸出是不是回文串。實(shí)現(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 ①
i=i+1
j=j-1
Loop
If?、?/bdo>Then Print“是回文串“Else Print“不是回文串“
End Sub
在畫(huà)線處填入合適代碼,使程序能正常運(yùn)行。
①
②發(fā)布:2024/12/19 14:30:2組卷:0引用:1難度:0.4
相關(guān)試卷