試卷征集
加入會員
操作視頻

【加試題】當計算機程序中無法用普通數(shù)據(jù)類型表示位數(shù)較多的乘數(shù)和計算結(jié)果時,就需要采用高精度乘法.如,當兩個各有20位數(shù)字的整數(shù)相乘時,就無法用長整型(Long)數(shù)據(jù)類型來表示.高精度乘法運算就是運用數(shù)組,用程序模擬列豎式計算的過程.兩個正整數(shù)進行高精度乘法計算的一般算法如下:
(1)將第一個整數(shù)各位上的數(shù)字按照從低位到高位的順序依次存入數(shù)組a(1)、a(2)、…、a(La)中,將另一個整數(shù)各位上的數(shù)字按照從低位到高位的順序表示第二個整數(shù)的位數(shù);
(2)按照從低位到高位的順序,將兩個整數(shù)各位數(shù)值進行逐位乘法計算(第一輪先讓b(1)依次乘以a(1)、a(2)、…、a(La),第二輪再讓b(2)依次乘以a(1)、a(2)、…、a(La),依次進行),每位的乘法結(jié)果也按照低位到高位的順序依次存入數(shù)組ans(1)、ans(2)、ans(3)…中;
(3)對數(shù)組ans中的計算結(jié)果進行從低位到高位的進位處理;
(4)統(tǒng)計數(shù)組ans中實際計算結(jié)果的有效數(shù)值位數(shù),并將位數(shù)值存入變量length;
(5)按照高位到低位的順序輸出數(shù)組ans中的計算結(jié)果.
小強按照上述方法設(shè)計了一個兩數(shù)進行高精度乘法計算的VB程序,功能如下:在文本框Text1和Text2中依次輸入兩個整數(shù),單擊“計算”按鈕Command1,程序進行高精度乘法計算,并在標簽Label4中輸出計算結(jié)果.下面信息顯示了進行高精度乘法計算的主要過程(假設(shè)輸入的兩個整數(shù)分別為“123”和“45”):
菁優(yōu)網(wǎng)
程序運行效果如圖3所示.
菁優(yōu)網(wǎng)
實現(xiàn)上述功能的VB程序如下:
(1)請在畫線處填入合適代碼.
Dim a(1 To 30)As Integer,b(1 To 30)As Integer,ans(1 To 60)As Integer
Dim La As Integer,Lb As Integer,length As Integer
Private Sub Command1_Click(  )
   Dim i As Integer,j As Integer,t As Integer,temp As String
'將兩個乘數(shù)(正整數(shù))各數(shù)位上的數(shù)字按照上述算法依次存入數(shù)組a和b,每個正整數(shù)位數(shù)分別保存到變量La和Lb;將保存結(jié)果的數(shù)組ans(i)值初始化為零(該部分程序代碼略)
   For i=1 To Lb'按低位到高位的順序進行列豎式的逐位乘法
       For j=1 To La
           ans(i+j-1)=
①ans(i+j-1)
①ans(i+j-1)
+b(i)*a(j)
       Next j
   Next i
   For i=1 To La+Lb'對計算結(jié)果進行進位處理
       ans(i+1)=ans(i+1)+ans(i)\10
       ans(i)=
②ans(i) mod 10
②ans(i) mod 10

   Next i
   Length=La+Lb
   Do While ans(lenth)=0
       length=length-1
   Loop
   For i=
③length
③length
 To 1 Step-1
      Label4.Caption=Label4.Caption & Str(ans(i))
   Next i
End Sub
(2)根據(jù)本題算法,若輸入的兩個整數(shù)分別為5125和18,則在輸出乘法計算結(jié)果時,變量length的值為
5
5

【答案】①ans(i+j-1);②ans(i) mod 10;③length;5
【解答】
【點評】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復制發(fā)布。
發(fā)布:2024/6/27 10:35:59組卷:5引用:1難度:0.1
相似題
  • 1.小華開發(fā)了一個自動改卷系統(tǒng),但是由于科目不同,沒有固定的題號模板,于是小華又編寫了python程序,能根據(jù)試卷答案自動輸出題號。如圖1為答案模板文件,小華在模板文件中錄入答案后保存為“卷3.txt”,如圖2所示,每一行是一題或者一題中的一小題的答案,題號之間沒有跳躍。例如:圖2中【1】和【5】之間有4行,A、B、C、D為第1到4題的答案。程序運行結(jié)果如圖3所示。
    菁優(yōu)網(wǎng)?
    (1)實現(xiàn)上述功能的Python程序如下,若刪除圖 13-2 最后一行(【7】所在的行),對程序運行結(jié)果
     
    影響(填:有/沒有)。
    (2)請在劃線處填入合適的代碼。
    菁優(yōu)網(wǎng)?

    發(fā)布:2024/11/13 8:0:1組卷:0引用:1難度:0.3
  • 2.(郊游活動)有 n 名同學參加學校組織的郊游活動,已知學校提供給這 n 名同學的郊游總經(jīng)費為 cnt 元,與此同時每位同學都自帶了部分錢。為了方便郊游,活動地點提供 m(n<=m<=100)輛自行車供人租用,租用每輛自行車也需要花費錢,每位同學可以使用自己攜帶的錢或者學校的郊游經(jīng)費,為了方便賬務管理,每位同學只能為自己租用自行車,且不會借錢給他人,他們想知道最多有多少位同學能夠租用到自行車。
    租車原則是首先考慮自帶經(jīng)費少的部分同學優(yōu)先租相對花費少的自行車,盡量少花學校經(jīng)費以達到最多同學租車的結(jié)果。比如學生帶的錢為 9,3,6,7,5,租車的錢分別需要 15,8,12,6,9,11,如果 5 個人都能租車,至少需要學校提供經(jīng)費為(6-3)+(8-5)+(9-6)+(11-7)+(12-9)=16,如果學校經(jīng)費只有 10 元,則自帶錢最少的同學不租車,這時所需學校經(jīng)費為(6-5)+(8-6)+(9-7)+(11-9)=7。計算過程中采用二分查找法來判斷租用自行車的人數(shù)能否達到最大值。
    (1)若 7 位學生自帶經(jīng)費分別為 5,17,15,12,10,9,14,自行車租車費用分別為 27,14,27,25,17,18,23,21,學校提供經(jīng)費為 25 元,則最多有
     
    位同學能夠租用到自行車。
    (2)VB程序代碼如下,請在橫線處填入合適的代碼。
    菁優(yōu)網(wǎng)
    菁優(yōu)網(wǎng)

    發(fā)布:2024/11/14 11:30:2組卷:0引用:1難度:0.3
  • 3.分解質(zhì)因數(shù)是指一個整數(shù)可以寫成幾個質(zhì)數(shù)相乘的形式?,F(xiàn)有如下Python 程序段實現(xiàn)對一個整數(shù)(可以為負整數(shù))分解質(zhì)因數(shù),如輸入正整數(shù)15,輸出結(jié)果為:15=3*5,輸入負整數(shù)-4,輸出結(jié)果為:-4=-1*2*2。
    (1)請在橫線處填入合適的代碼。
    菁優(yōu)網(wǎng)
    (2)當輸入整數(shù)-40時,輸出的結(jié)果為
     

    發(fā)布:2024/11/15 20:0:1組卷:4引用:1難度:0.4
小程序二維碼
把好題分享給你的好友吧~~
APP開發(fā)者:深圳市菁優(yōu)智慧教育股份有限公司 | 應用名稱:菁優(yōu)網(wǎng) | 應用版本:4.8.2  |  隱私協(xié)議      第三方SDK     用戶服務條款廣播電視節(jié)目制作經(jīng)營許可證出版物經(jīng)營許可證網(wǎng)站地圖本網(wǎng)部分資源來源于會員上傳,除本網(wǎng)組織的資源外,版權(quán)歸原作者所有,如有侵犯版權(quán),請立刻和本網(wǎng)聯(lián)系并提供證據(jù),本網(wǎng)將在三個工作日內(nèi)改正