高二算法初步题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/06/20 12:50:35
![高二算法初步题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,怎么回事?](/uploads/image/z/14561151-15-1.jpg?t=%E9%AB%98%E4%BA%8C%E7%AE%97%E6%B3%95%E5%88%9D%E6%AD%A5%E9%A2%98input+%E2%80%9Ca%2Ck%3D%E2%80%9D%3Ba%2Ckb%3D0i%3D0doq%3Da%5Ckr%3Da+mod+kb%3Db%2Br%2A10%5Eii%3Di%2B1a%3Dqloop+until+q%3D0print+benda%3D333%2Ck%3D5%E8%BE%93%E5%87%BAb%E4%B8%BAA+2313B+3132C+93%E6%88%91%E7%AE%97%E5%BE%97%E6%98%AF2311%2C%E6%80%8E%E4%B9%88%E5%9B%9E%E4%BA%8B%3F)
高二算法初步题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