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

給定n個正整數(shù),將它們分組,使得每組中的任意兩個數(shù)互質(zhì)(它們的最大公約數(shù)為1)。按照以下算法可以得到最少的組數(shù):
第一步:將第1個整數(shù)分到第1組;
第二步:嘗試將第2個至第n個整數(shù)分到已有的分組中,若能分到已有的分組中,則分到第一個符合條件的組;若不能分到已有的組,則分到新生成的組中。
例如對“70,99,25,54,11,100”6個整數(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)行時,輸入n個整數(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)上述功能的程序如下,請回答下列問題:
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個整數(shù),并存儲在列表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個整數(shù),至少分組數(shù)為
(2)請在橫線處填入合適的代碼。

【答案】見試題解答內(nèi)容
【解答】
【點(diǎn)評】
聲明:本試題解析著作權(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 工程的代碼窗口如圖所示,則下列說法正確的是( ?。?br />

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

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


    (1)根據(jù)程序代碼,窗體中顯示“排序”文字的按鈕對象名稱為_____。
    (2)程序代碼中,加框處代碼有錯,請改正。
    (3)程序代碼中,將 Label2.Caption 賦值語句補(bǔ)充完整。
    (4)程序代碼中,與下劃線語句 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)部分資源來源于會員上傳,除本網(wǎng)組織的資源外,版權(quán)歸原作者所有,如有侵犯版權(quán),請立刻和本網(wǎng)聯(lián)系并提供證據(jù),本網(wǎng)將在三個工作日內(nèi)改正