解题思路:
注意事项:
参考代码:
def bi(n):
s = bin(n)[2:][::-1] # 先转换成二进制( bin(n) )再去掉0b( 【2:】)最后反转字符串 ,次方与索引一致(【::-1】)
l = ""
for i in range(len(s)-1,-1,-1): # 题目要求次方高的在前
if s[i] == "1":
if i == 1: # 2^1特殊处理
l += "2+"
continue
if i == 0: # 2^0特殊处理
l += "2({0})+".format(i)
continue
l += "2({0})+".format(bi(i)) # 大于2^1的同一处理
l = l[:-1] # 去掉最后一个加号
return l
n = int(input())
print(bi(n))
0.0分
0 人评分
人见人爱A+B (C语言代码)浏览:776 |
化学品问题 (C语言代码)浏览:1332 |
C语言训练-谁家孩子跑最慢* (C语言代码)浏览:1508 |
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:733 |
简单的a+b (C语言代码)浏览:726 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:668 |
这可能是一个假的冒泡法浏览:993 |
【亲和数】 (C语言代码)浏览:859 |
C语言训练-排序问题<1> (C语言代码)浏览:601 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:775 |