n堆金幣,把兩堆金幣合并到一起,n堆金幣經(jīng)過n-1次合并之后就只剩下一堆了。如何消耗最少的體力,把這n堆金幣合并成一堆?合并所消耗的體力等于每次合并兩堆金幣的重量之和。比如,n=3時(shí)表示共有3堆金幣,每堆重量分別是2、1、9.一種合并方案是2和9合并,新堆重量是11,消耗體力為11;接著11和1合并,新堆重量是12,消耗體力為12,因此總消耗體力是11+12=23.另一種方案是:1和2合并,新堆重量是3,消耗體力為3;接著3和9合并,新堆重量是12,消耗體力為12,因此總消耗體力是3+12=15.可以證明這就是最少消耗體力。
小張經(jīng)分析,每次n堆金幣如果都是從小到大,將前兩堆合并成新一堆,然后,繼續(xù)進(jìn)行從小到大排序,如此合并成最后一堆,此時(shí)消耗體力最少,為此他編寫了一個(gè)解決上述問題,求最少體力的VB程序,功能如下:窗體加載時(shí),自動(dòng)讀取n堆金幣的數(shù)據(jù),依次存儲(chǔ)在數(shù)組元素a(1)、a(2)、a(3)…中,金幣堆數(shù)存儲(chǔ)在變量n中,n堆金幣的重量數(shù)據(jù)顯示在列表框List1中。單擊“求解”按鈕Command1,程序?qū)堆金幣進(jìn)行合并處理,消耗最少的體力顯示在文本框Text1中。程序運(yùn)行界面如第17題圖所示。
(1)如果有5堆金幣,每堆重量分別是12、8、5、9、15,則將這5堆金幣合并成一堆金幣,最少消耗體力是 111111。
(2)實(shí)現(xiàn)上述功能的VB程序如下,請(qǐng)?jiān)跈M線處填入合適的代碼。
Const n=10
Dim i As Integer,j As Integer,t As Integer
Dim a(1 To n) As Integer
Private Sub Form_Load ( ?。?br />'本過程用于讀取n堆的數(shù)據(jù)并存儲(chǔ)在數(shù)據(jù)a中
'代碼略
End Sub
'sort(x)過程的功能是對(duì)a(x)、a(x+1)、……、a(n)中的數(shù)進(jìn)行從小到大排序
Private Sub sort(x As Integer)
For i=①①To n-1
For j=n To i+1 Step-1
If a(j)<a(j-1)Then
t=a(j):a(j)=a(j-1):a(j-1)=t
End If
Next j
Next i
End Sub
Private Sub Command1_Click ( ?。?br />Dim sum As Integer,k As Integer
sum=0
sort (1)
For k=1 To n-1
a(k+1)=a(k)+a(k+1)
sum=sum+②②
sort ( ③③)
Next k
Text1.Text=Str(sum)
End Sub
【考點(diǎn)】編輯事件處理過程的代碼.
【答案】111;①;②;③
【解答】
【點(diǎn)評(píng)】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/6/27 10:35:59組卷:0引用:1難度:0.5
相似題
-
1.學(xué)校舉辦了“語文作文現(xiàn)場賽”,參賽同學(xué)成績存儲(chǔ)在文本文件“gra.jye.ai”中,如左圖所示(每一行記錄一位同學(xué)的姓名和成績,以“:”分隔)。陳老師利用Python程序?qū)ψ魑某煽冞M(jìn)行處理,統(tǒng)計(jì)出各個(gè)分?jǐn)?shù)等級(jí)的人數(shù),并輸出結(jié)果。程序運(yùn)行界面如右圖所示。
實(shí)現(xiàn)上述功能的Python程序如下,請(qǐng)?jiān)趧澗€處填入合適的代碼。發(fā)布:2024/12/17 2:0:1組卷:6引用:2難度:0.3 -
2.有如下Python程序段:
執(zhí)行該程序段,輸入字符串“abcdefg”,則輸出的結(jié)果是( )發(fā)布:2024/12/20 6:30:1組卷:2引用:3難度:0.4 -
3.試題描述的內(nèi)容:
一個(gè)單窗體VB程序的運(yùn)行界面如圖所示。下列說法正確的是( ?。?br />(1)窗體內(nèi)有1個(gè)按鈕
(2)窗體內(nèi)有2個(gè)文本框
(3)窗體內(nèi)有3個(gè)標(biāo)簽
(4)該窗體的標(biāo)題(Caption)屬性值是“加法計(jì)算器”發(fā)布:2024/12/20 20:0:2組卷:1引用:1難度:0.6
把好題分享給你的好友吧~~