數(shù)字游戲:現(xiàn)在有一種數(shù)字游戲,開始時(shí)輸入一串?dāng)?shù)字,每兩個(gè)數(shù)字間用逗號隔開,共有 N 個(gè)數(shù)字(數(shù)字的值可能在 10 以上)。游戲分為 N 輪,第 X 輪的基礎(chǔ)獎(jiǎng)勵(lì)值等于第 X 個(gè)數(shù)字的數(shù)值。在不進(jìn)行任何操作前,每一輪的獎(jiǎng)勵(lì)值等于該輪的基礎(chǔ)獎(jiǎng)勵(lì)值。每一輪在如下幾種方案中任選一種:
方案一:直接獲得應(yīng)獲得的獎(jiǎng)勵(lì)值;
方案二:令本輪獲得的獎(jiǎng)勵(lì)值減去 5,令下一輪獲得的獎(jiǎng)勵(lì)值乘 2;方案三:令本輪獲得的獎(jiǎng)勵(lì)值整除 3,令下下輪獲得的獎(jiǎng)勵(lì)值乘 3;注意:當(dāng)某一輪上疊加了多個(gè)效果時(shí),后疊加的效果先生效。
如圖 a所示第一輪考慮:
采用方案一,獎(jiǎng)勵(lì)值為 6;
采用方案二,獎(jiǎng)勵(lì)值為 6-5=1;采用方案三,獎(jiǎng)勵(lì)值為 6\3=2。
再考慮第二輪:
采用方案一,若第一輪采用方案一時(shí),總獎(jiǎng)勵(lì)值為 6+9=15;若第一輪采用方案二時(shí),總獎(jiǎng)值為1+9*2=19;
采用方案二,若第一輪采用方案一時(shí),總獎(jiǎng)勵(lì)值為 6+(9-5)=10;若第一輪采用方案二時(shí),總獎(jiǎng)勵(lì)值為 1+(9-5)*2=9;
第二輪不會采用方案三,若采用,效果將在第四輪生效,而本案例沒有第四輪。最后考慮第三輪:
同上,第三輪只會采用方案一因?yàn)闆]有下一輪和下下一輪,此時(shí):前兩輪都采用方案一,總獎(jiǎng)勵(lì)值為 18;
前兩輪都采用方案二,總獎(jiǎng)勵(lì)值為 15;
第一輪采用方案一,第二輪采用方案二,總獎(jiǎng)勵(lì)值為 16;第一輪采用方案三,第二輪采用方案一,總獎(jiǎng)勵(lì)值為 20;第一輪采用方案三,第二輪采用方案二,總獎(jiǎng)勵(lì)值為 24。因此最大總獎(jiǎng)勵(lì)值為 24。
現(xiàn)編寫一個(gè)程序,用于求出最大總獎(jiǎng)勵(lì)值。
(1)輸入的數(shù)字串為“5,6”,則最大獎(jiǎng)勵(lì)值為 1212。
(2)實(shí)現(xiàn)上述功能的 VB 程序如下,請?jiān)跈M線處填入合適的代碼。
Function max5(a As Integer,b As Integer,c As Integer,d As Integer,e As Integer) As Integer'求五個(gè)數(shù)字中的最大值
If a>b Then max5=a
If c>max5 Then max5=c If d>max5 Then max5=d If e>max5 Then max5=e
End Function
Function max2(a As Integer,b As Integer)As Integer'求兩個(gè)數(shù)字中的最大值
If a>b Then max2=a Else max2=b End Function
Private Sub Command1_Click ( ?。?/div>( )
Dim s As String,rec As Integer,n As Integer,i As Integer
Dim f(1 To 100)As Integer'f(i)表示第 i 輪采用方案一時(shí),前 i 輪總共能獲得的最大獎(jiǎng)勵(lì)值Dim g(1 To 100)As Intcger'g(i)表示第 i 輪采用方案二時(shí),前 i 輪總共能獲得的最大獎(jiǎng)勵(lì)值Dim h(1 To 100)As Integer'h(i)表示第 i 輪采用方案三時(shí),前 i 輪總共能獲得的最大獎(jiǎng)勵(lì)值Dim a(1 To 100)As Integer'a(i)表示第 i 輪的基礎(chǔ)獎(jiǎng)勵(lì)值
s=Text1.Text+“,“n=0:rec=0
For i=1 To Len(s)
If Mid(s,i,1)=“,“Then n=n+1
a(n)=①Val(Mid(s,rec+1,i-rec-1))Val(Mid(s,rec+1,i-rec-1))
rec=i End If
Next i
f(1)=a(1):g(1)=a(1)-5:h(1)=a(1)\3
f(2)=max2(f(1)+a(2),g(1)+a(2)*2)
g(2)=max2(f(1)+a(2)-5,g(1)+(a(2)-5)*2)
h(2)=②max2(f(1)+a(2)\3,g(1)+(a(2)\3)*2)max2(f(1)+a(2)\3,g(1)+(a(2)\3)*2)
For i=3 To n
f(i)=max5(f(i-1)+a(i),g(i-1)+a(i)*2,h(i-2)+a(i-1)+a(i)*3,h(i-2)+a(i-1)-5+a(i)*6,g(i-2)+(a(i-1)-5)*2
+a(i)*2)
g(i)=max5(f(i-1)+a(i)-5,g(i-1)+(a(i)-5)*2,h(i-2)+a(i-1)+(a(i)-5)*3,h(i-2)+a(i-1)-5+(a(i)-5)*6,g(i-2)+(a(i-1)-5)*2+(a(i)-5)*2)
h(i)=max5(f(i-1)+a(i)\3,g(i-1)+(a(i)\3)*2,h(i-2)+a(i-1)+(a(i)\3)*3,h(i-2)+a(i-1)-5+(a(i)\3)*6,g(i-2)+(a(i-1)-5)*2+(a(i)\3)*2)
Next i
Label1.Caption=“最大總獎(jiǎng)勵(lì)值“+③Str(max2(h(n),max2(f(n),g(n))))或Str(max2(max2(f(n),g(n),h(n))))或其他等價(jià)答案Str(max2(h(n),max2(f(n),g(n))))或Str(max2(max2(f(n),g(n),h(n))))或其他等價(jià)答案
End Sub【考點(diǎn)】應(yīng)用程序的試運(yùn)行和保存.【答案】12;( ?。?;Val(Mid(s,rec+1,i-rec-1));max2(f(1)+a(2)\3,g(1)+(a(2)\3)*2);Str(max2(h(n),max2(f(n),g(n))))或Str(max2(max2(f(n),g(n),h(n))))或其他等價(jià)答案【解答】【點(diǎn)評】聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復(fù)制發(fā)布。發(fā)布:2024/4/20 14:35:0組卷:0引用:1難度:0.3
( )
Dim s As String,rec As Integer,n As Integer,i As Integer
Dim f(1 To 100)As Integer'f(i)表示第 i 輪采用方案一時(shí),前 i 輪總共能獲得的最大獎(jiǎng)勵(lì)值Dim g(1 To 100)As Intcger'g(i)表示第 i 輪采用方案二時(shí),前 i 輪總共能獲得的最大獎(jiǎng)勵(lì)值Dim h(1 To 100)As Integer'h(i)表示第 i 輪采用方案三時(shí),前 i 輪總共能獲得的最大獎(jiǎng)勵(lì)值Dim a(1 To 100)As Integer'a(i)表示第 i 輪的基礎(chǔ)獎(jiǎng)勵(lì)值
s=Text1.Text+“,“n=0:rec=0
For i=1 To Len(s)
If Mid(s,i,1)=“,“Then n=n+1
a(n)=①
Val(Mid(s,rec+1,i-rec-1))
Val(Mid(s,rec+1,i-rec-1))
rec=i End If
Next i
f(1)=a(1):g(1)=a(1)-5:h(1)=a(1)\3
f(2)=max2(f(1)+a(2),g(1)+a(2)*2)
g(2)=max2(f(1)+a(2)-5,g(1)+(a(2)-5)*2)
h(2)=②
max2(f(1)+a(2)\3,g(1)+(a(2)\3)*2)
max2(f(1)+a(2)\3,g(1)+(a(2)\3)*2)
For i=3 To n
f(i)=max5(f(i-1)+a(i),g(i-1)+a(i)*2,h(i-2)+a(i-1)+a(i)*3,h(i-2)+a(i-1)-5+a(i)*6,g(i-2)+(a(i-1)-5)*2
+a(i)*2)
g(i)=max5(f(i-1)+a(i)-5,g(i-1)+(a(i)-5)*2,h(i-2)+a(i-1)+(a(i)-5)*3,h(i-2)+a(i-1)-5+(a(i)-5)*6,g(i-2)+(a(i-1)-5)*2+(a(i)-5)*2)
h(i)=max5(f(i-1)+a(i)\3,g(i-1)+(a(i)\3)*2,h(i-2)+a(i-1)+(a(i)\3)*3,h(i-2)+a(i-1)-5+(a(i)\3)*6,g(i-2)+(a(i-1)-5)*2+(a(i)\3)*2)
Next i
Label1.Caption=“最大總獎(jiǎng)勵(lì)值“+③
Str(max2(h(n),max2(f(n),g(n))))或Str(max2(max2(f(n),g(n),h(n))))或其他等價(jià)答案
Str(max2(h(n),max2(f(n),g(n))))或Str(max2(max2(f(n),g(n),h(n))))或其他等價(jià)答案
End Sub
發(fā)布:2024/4/20 14:35:0組卷:0引用:1難度:0.3
相似題
-
1.有如下VB程序段:
執(zhí)行該程序段后,變量c的值是( ?。?/h2>發(fā)布:2024/12/16 5:0:1組卷:1引用:2難度:0.3 -
2.小明用python語言中對大小為100*100像素的圖像“上.jpg”(如圖所示)進(jìn)行簡單處理,部分代碼如圖:
程序執(zhí)行后的圖像效果是( ?。?/h2>發(fā)布:2024/12/20 9:30:2組卷:3引用:5難度:0.4 -
3.由大寫字母組成的長度相同的兩個(gè)字符串s1和s2,檢測各字母的數(shù)量,如“ABDAC”與“AABCD”所含字母數(shù)量一樣,與“AABBC”所含字母數(shù)量不一樣。實(shí)現(xiàn)該功能的VB程序段如下:
填空處的代碼可以由以下部分組成:
①Text2.Text ②val(Text2.Text) ③b(a)=b(a)+1 ④b(a)=b(a)-1 ⑤b(i)<>0⑥b(i)=0
代碼順序正確的是( ?。?/h2>發(fā)布:2024/12/16 9:30:1組卷:3引用:3難度:0.4
把好題分享給你的好友吧~~
APP開發(fā)者:深圳市菁優(yōu)智慧教育股份有限公司| 應(yīng)用名稱:菁優(yōu)網(wǎng) | 應(yīng)用版本:5.0.7 |隱私協(xié)議|第三方SDK|用戶服務(wù)條款
本網(wǎng)部分資源來源于會員上傳,除本網(wǎng)組織的資源外,版權(quán)歸原作者所有,如有侵犯版權(quán),請立刻和本網(wǎng)聯(lián)系并提供證據(jù),本網(wǎng)將在三個(gè)工作日內(nèi)改正