試卷征集
          加入會(huì)員
          操作視頻

          給定n個(gè)正整數(shù),將它們分組,使得每組中的任意兩個(gè)數(shù)互質(zhì)(它們的最大公約數(shù)為1)。按照以下算法可以得到最少的組數(shù):
          第一步:將第1個(gè)整數(shù)分到第1組;
          第二步:嘗試將第2個(gè)至第n個(gè)整數(shù)分到已有的分組中,若能分到已有的分組中,則分到第一個(gè)符合條件的組;若不能分到已有的組,則分到新生成的組中。
          例如對(duì)“70,99,25,54,11,100”6個(gè)整數(shù)分組,具體分組情況如下表所示a
          組別 第1組
          位置 0 1 2 3 4 5 6
          2 70 99 0 0 0 0
          組別 第2組
          位置 7 8 9 10 11 12 13 ...
          3 25 54 11 0 0 0 ...
          程序運(yùn)行時(shí),輸入n個(gè)整數(shù),輸出分組情況及至少分的組數(shù),運(yùn)行效果如下所示。
          分組數(shù)據(jù):70,99,25,54,11,100
          分組情況:
          第1組:70  99
          第2組:25  54  11
          第3組:100
          至少分:3組
          實(shí)現(xiàn)上述功能的程序如下,請(qǐng)回答下列問(wèn)題:
          n=6
          global a,b#定義a,b為全局變量
          def gcd(num1,num2):
          #求整數(shù)num1、num2的公約數(shù),代碼略
          def dist(x,m):#把整數(shù)x進(jìn)行分組
          dist=0
          flag=False
          For i in range(1,m+1):
          flagp=True
              ②
          for j in range(1,b[t]+1):
          if gcd(x,b[t+j])>1:
          flagp=False
          break
          if flagp==True:
          b[t]+=1
          b[t+b[t]]=x
          flag=True
          break
          if flag==False:
          t=m*(n+1)
          b[t]+=1
               ③
          dist=1
          return dist
          #輸入n個(gè)整數(shù),并存儲(chǔ)在列表a中,代碼略
          b=[0]*(n*(n+1))#數(shù)組b分為n段,并將元素初始化為0
          b[0]=1
          b[1]=a[0]
          cnt=1
          s=””
          For i in range(1,n):
          cnt=    ①
          #輸出具體分組情況,代碼略
          print(“至少分:”,str(cnt),”組”)
          (1)按照上述算法,若有“25,15,18,22,51,33,7,62”8個(gè)整數(shù),至少分組數(shù)為
          (2)請(qǐng)?jiān)跈M線處填入合適的代碼。

          【答案】(1)4
          (2)①cnt+dist(a[i],cnt)
          ②t=(i-1)*(n+1)
          ③b[t+1]=x或b[b[t]+1]=x
          【解答】
          【點(diǎn)評(píng)】
          聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復(fù)制發(fā)布。
          發(fā)布:2024/6/27 10:35:59組卷:0引用:1難度:0.3
          相似題
          • 1.有如下VB程序段:

            在文本框Text 1中輸入“985-3+-”,執(zhí)行該程序段后,文本框Text2中顯示的值為(  )

            發(fā)布:2025/1/2 11:0:1組卷:1引用:1難度:0.4
          • 2.某 vb 工程的代碼窗口如圖所示,則下列說(shuō)法正確的是(  )

            發(fā)布:2025/1/2 11:0:1組卷:0引用:1難度:0.4
          • 3.小李編寫了按奇數(shù)位數(shù)字升序和偶數(shù)位數(shù)字降序排列的 VB 程序,功能如下:程序運(yùn)行時(shí),在標(biāo)簽 Label1 中顯示排序前的數(shù)字,單擊“排序”按鈕,在標(biāo)簽 Label2 中輸出排序的結(jié)果,運(yùn)行界面如圖所示。

            實(shí)現(xiàn)上述功能的 VB 程序如下。


            (1)根據(jù)程序代碼,窗體中顯示“排序”文字的按鈕對(duì)象名稱為_____。
            (2)程序代碼中,加框處代碼有錯(cuò),請(qǐng)改正。
            (3)程序代碼中,將 Label2.Caption 賦值語(yǔ)句補(bǔ)充完整。
            (4)程序代碼中,與下劃線語(yǔ)句 i Mod 2=0 功能相同的是_____ (單選,填字母:A.j Mod2=1/B.(i+j) Mod 2=0/C.k<>i)

            發(fā)布:2025/1/2 11:0:1組卷:0引用:1難度:0.9
          APP開發(fā)者:深圳市菁優(yōu)智慧教育股份有限公司| 應(yīng)用名稱:菁優(yōu)網(wǎng) | 應(yīng)用版本:5.0.7 |隱私協(xié)議|第三方SDK|用戶服務(wù)條款
          本網(wǎng)部分資源來(lái)源于會(huì)員上傳,除本網(wǎng)組織的資源外,版權(quán)歸原作者所有,如有侵犯版權(quán),請(qǐng)立刻和本網(wǎng)聯(lián)系并提供證據(jù),本網(wǎng)將在三個(gè)工作日內(nèi)改正