题目:
除二取余方法的递归定义,如下:
其中,⋈ 表示拼接。
公式的意思是:如果十进制正整数 d 等于 1,那它对应的二进制 b 就是 1;否则 d 大于 1,那它的二进制就是 d 整除 2 的商对应的二进制,拼接 d 整除 2 的余数。
问题描述:
########## Begin ##########
def f(d):
if d==1:
return 1
else:
return (str(f(d//2)+str(d%2)))
########## End ##########
d = int(input())
print(f(d))
做的时候想要一步到位,运行后好像语法显示错误。
Traceback (most recent call last): File "src/step6/student6.py", line 9, in <module> print(f(d)) File "src/step6/student6.py", line 6, in f return (str(f(d//2)+str(d%2))) File "src/step6/student6.py", line 6, in f return (str(f(d//2)+str(d%2))) File "src/step