xia


私信TA

用户名:dotcpp0610713

访问量:101

签 名:

等  级
排  名 5915
经  验 1424
参赛次数 0
文章发表 3
年  龄 0
在职情况 学生
学  校 江苏安全职业技术学院
专  业

  自我简介:

解题思路:

注意事项:

参考代码:

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 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区