算法分析:從例2的計算過程可以看出如下的規(guī)律:
若十制數(shù)a除以k所得商是q0,余數(shù)是r0,即a=k·q0+r0,則r0是a的k進制數(shù)的右數(shù)第1位數(shù).
若q0除以k所得的商是q1,余數(shù)是r1,即q0=k·q1+r1,則r1是a的k進制數(shù)的左數(shù)第2位數(shù).
……
若qn-1除以k所得的商是0,余數(shù)是rn,即qn-1=rn,則rn是a的k進制數(shù)的左數(shù)第1位數(shù).
這樣,我們可以得到算法步驟如下:
第一步,給定十進制正整數(shù)a和轉(zhuǎn)化后的數(shù)的基數(shù)k.
第二步,求出a除以k所得的商q,余數(shù)r.
第三步,把得到的余數(shù)依次從右到左排列.
第四步,若q≠0,則a=q,返回第二步;否則,輸出全部余數(shù)r排列得到的k進制數(shù).
程序框圖如下圖:
程序:
INPUT “a,k=”;a,k
b=0
i=0
DO
q=a\\k
r=a MOD k
b=b+r*10^i
i=i+1
a=q
LOOP UNTIL q=0
PRINT b
END
湖北省互聯(lián)網(wǎng)違法和不良信息舉報平臺 | 網(wǎng)上有害信息舉報專區(qū) | 電信詐騙舉報專區(qū) | 涉歷史虛無主義有害信息舉報專區(qū) | 涉企侵權(quán)舉報專區(qū)
違法和不良信息舉報電話:027-86699610 舉報郵箱:58377363@163.com