这代码应该是VB吧?
将314706(8)转换为十进制,根据公式实际需要做的是取出每一位数字是几以及对应的位数。
这里i是从1开始计数的,即从314706的个位数字到最高位(6位)来计算的,所以是加。你只要按照i=1开始一次一次计算下就懂了。
INPUTa,k,n'输入a=314706,k=8,n=6'
b=0'b初始值为0'
i=1‘i从1开始计数,i用于循环计数’
t=aMOD10't=a对10去余数,即a的个位数字等于t,这里为6'
DO‘开始循环’
b=b+t*k^(i-1)‘b等于自己+t*k的(i-1)次方,就是上面一串相加的公式’
i=i+1‘i增加一’
a=a\10'a去掉个位数字之外的数字'
t=aMOD10'重新对t幅值,再一次循环'
LOOPUNTILi>n