[填空題] 下列程序是判斷一個整數(shù)(>=3)是否為素數(shù),請補充完整。 Dim n As Integer n=InputBox("請輸入一個整數(shù)(>=3)")
2021-07-20
[填空題] 下列程序是判斷一個整數(shù)(>=3)是否為素數(shù),請補充完整。
Dim n As Integer
n=InputBox("請輸入一個整數(shù)(>=3)")
k=Int(Sqr(n))
i:2
swit=0
While i
If n Mod i=0 Then
[7]
E1se
[8]
End If
Wend
If swit=0 Then
Print n;"是一個素數(shù)。"
E1se
Print n;"不是一個素數(shù)。"
End If
正確答案:swit=l
參考解析:素數(shù)是只能被1和本身整除的正整數(shù),在本題的程序中,swit是一個標(biāo)志變量,如果swit=0,則表示n不能被整除;如果能被一個整數(shù)整除,則swit變?yōu)?。 While循環(huán)執(zhí)行的條件有兩個,一個是I<=k,另一個是swit=0,必須兩個條件同時成立才執(zhí)行循環(huán),當(dāng)I>k時,顯然不必再檢查n是否能被I整除;而如果“swit=1”,則表示n已被整除,肯定不是素數(shù),也不必檢查了。 只有I<=k和swit=0兩者同時成立時才需要檢查“n是否為素數(shù)”,循環(huán)只有一個判斷操作,即判斷n能否被I整除,如果不能,則I=I+1,以便為下一次判斷的準(zhǔn)備。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。