[單項(xiàng)選擇題] 閱讀下面的程序: Private Sub Form_Click()Dim m,n As Integerm=InputBox("請(qǐng)輸入M的值")
[單項(xiàng)選擇題] 閱讀下面的程序:
Private Sub Form_Click()
Dim m,n As Integer
m=InputBox("請(qǐng)輸入M的值")
m=Val(m)
m1=m
n=InputBox("請(qǐng)輸入N的值")
n=Val(n)
n1=n
Do While n<>0
remin=m Mod n
m=n
n=remin
Loop
Print m1,n1,m
End Sub
程序運(yùn)行后,單擊窗體,在對(duì)話框中分別輸入16和24,則程序在窗體上的輸出結(jié)果為
A.16 24 4
B.16 24 8
C.24 16 6
D.24 16 8
正確答案:B解析:[分析]: 本題捉供的是用“輾轉(zhuǎn)相除法”求兩個(gè)整數(shù)最大公約數(shù)的程序。一般來說,假定有兩個(gè)整數(shù)m和n(m>n),將m作為被除數(shù), n作為除數(shù),相除后余數(shù)為r。如果r不等于0,則令m=n,n=r,再進(jìn)行一次除法運(yùn)算(以新的m作為被除數(shù),n作為除數(shù)),得到新的r。如果r仍不等于0,則重復(fù)上述過程,直到r=0為止,此時(shí)的n就是兩個(gè)數(shù)的最大公約數(shù)。在本題的Do While-Loop循環(huán)中,通過輾轉(zhuǎn)相除求最大公約數(shù),循環(huán)結(jié)束的條件是相除后余數(shù)為0,如果不為0,則一直“除”下去。這里用 Mod運(yùn)算符求余數(shù),較大
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。