高二算法初步题input “a,k=”;a,kb=0i=0doq=a\kr=a mod kb=b+r*10^ii=i+1a=qloop until q=0print benda=333,k=5输出b为A 2313B 3132C 93我算得是2311,怎么回事?

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/08 12:05:34

高二算法初步题input “a,k=”;a,kb=0i=0doq=a\kr=a mod kb=b+r*10^ii=i+1a=qloop until q=0print benda=333,k=5输出b为A 2313B 3132C 93我算得是2311,怎么回事?
高二算法初步题
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
a=333,k=5
输出b为
A 2313
B 3132
C 93
我算得是2311,怎么回事?

高二算法初步题input “a,k=”;a,kb=0i=0doq=a\kr=a mod kb=b+r*10^ii=i+1a=qloop until q=0print benda=333,k=5输出b为A 2313B 3132C 93我算得是2311,怎么回事?
一次跟踪循环过程即可得出答案A
第一次循环:
i=0:a=333,k=5,b=0 //已知数据
q=66,r=3,b=0+3*10^0=3 //循环结束后的结果
第二次循环:
i=1:a=66,k=5,b=3
q=13,r=1,b=3+10^1=13
第三次循环:
i=2:a=13,k=5,b=13
q=2,r=3,b=13+3*10^2=313
第四次循环:
i=3:a=2,k=5,b=313
q=0,r=2,b=313+2*10^3=2313
此时q=0,不满足循环条件.故循环终止
答案A