def f1(x):# 获取一个数的幂 137  list = [7 3 0]str1 = bin(x)[2:][::-1]list1 = []for i in range(len(str1)-1,-1,-1):if str1[i] == '1':list1.append(i)return list1def f2(list):# 格式化输出list1 = [str(i) for i in list]str2 = ''for i in range(len(list1)):  # 7 3 0if i < len(list1) - 1:if list1[i] == "1":str2 += "2+"else:if list[i] != 0:str2 += "2({})+".format(f2(f1(list[i])))  # 递归开始 7 == 2 1 0else:str2 += "2(0)"if i == len(list1) - 1:  # 最后一位不加+号if list1[i] == "1":str2 += "2"else:if list[i] != 0:str2 += "2({})".format(f2(f1(list[i])))else:str2 += "2(0)"return str2
"""对于  2(2(2+2(0))+2)+2(2(2+2(0)))+2(2(2)+2(0))+2+2(0) 其实是 2(部分1)+2(部分2)+2(部分3)+2+2(0) 注意部分里面的求法和求全部的是一样的 这样的话就可以递归了主要思想就是将大于1的数 全部转换为0 1 0 1 的数
"""n = int(input())
print(f2(f1(n)))

洛谷 P1010 [NOIP1998 普及组] 幂次方 Python题解相关推荐

  1. 信息学奥赛一本通 1208:2的幂次方表示 | OpenJudge 2.2 8758:2的幂次方表示 | 洛谷 P1010 [NOIP1998 普及组] 幂次方

    [题目链接] ybt 1208:2的幂次方表示 OpenJudge 2.2 8758:2的幂次方表示 洛谷 P1010 [NOIP1998 普及组] 幂次方 [题目考点] 1. 递归 [解题思路] 递 ...

  2. 洛谷P1010 [NOIP1998 普及组] 幂次方

    文章目录 前言 题目描述 输入格式 输出格式 样例 #1 样例输入 #1 样例输出 #1 [数据范围] 代码 解析 结尾 前言 在做完洛谷P1010 [NOIP1998 普及组] 幂次方这道题之后,我 ...

  3. 洛谷——P1010 [NOIP1998 普及组] 幂次方

    P1010 [NOIP1998 普及组] 幂次方 题目描述 任何一个正整数都可以用 22 的幂次方表示.例如 137=27+23+2^0137=27+23+20. 同时约定方次用括号来表示,即 a^b ...

  4. 洛谷P1010 [NOIP1998 普及组] 幂次方 C语言/C++

    [NOIP1998 普及组] 幂次方 题目描述 任何一个正整数都可以用 2 2 2 的幂次方表示.例如 $137=27+23+2^0 $. 同时约定方次用括号来表示,即 a b a^b ab 可表示为 ...

  5. 洛谷P1010 [NOIP1998 普及组] 幂次方题解

    数论递归 题目描述 任何一个正整数都可以用2的幂次方表示.例如137=27+23+20. 同时约定方次用括号来表示,即ab可表示为 a(b). 由此可知,137可表示为2(7)+2(3)+2(0). ...

  6. 洛谷 P1010 [NOIP1998 普及组] 幂次方

    题目链接 题目大意 任何一个正整数都可以用 2 的幂次方表示.例如 137=27+23+20.137=2^7+2^3+2^0.137=27+23+20. 输入一个整数n,用0和2的二进制表示该整数n. ...

  7. 洛谷 P1010 [NOIP1998 普及组] 幂次方 C++

    题目描述 任何一个正整数都可以用 22 的幂次方表示.例如 137=2^7+2^3+2^0 同时约定方次用括号来表示,即 a^bab 可表示为 a(b)a(b). 由此可知,137137 可表示为 2 ...

  8. 洛谷P1010 [NOIP1998 普及组] 幂次方 题解

    题目 C++: #include<bits/stdc++.h> using namespace std; string run(int x,int i=0,string s=string( ...

  9. [洛谷]P1010 [NOIP1998 普及组] 幂次方

    由于有的数字不需要前面那个括号,所以你得先判断如 3=2+2(0); 如果不判断那么3=2(2(0))+2(0); 自己设计的真是菜 从次数判断要不要加括号,加括号是取决于次数,而不是这个数本身 // ...

最新文章

  1. LeetCode-2 Add Two Numbers
  2. jquery 毫秒转换成日期_jQuery Datepicker – 如何将日期格式化为纪元时间戳(以秒为单位,而不是毫秒)...
  3. 【图片和pdf】相关网站
  4. Matlab中配置LibSVM 总结
  5. 东华大学计算机科学与技术考研方向,2017考研:计算机科学与技术专业考研院校推荐之东华大学...
  6. 中波形过于密集_论高速公路波形护栏板外观设计的重要性
  7. 电脑如何连接蓝牙音箱_蓝牙音箱如何办理SRRC认证
  8. 作为深度学习最强框架的TensorFlow如何进行时序预测!(转)
  9. 洛谷 P3373 【模板】线段树 2 解题报告
  10. 监听独立于数据库服务器的配置,解决ORA-12520及ORA-12545错误
  11. JavaWeb——新闻管理系统(Jsp+Servlet)
  12. 关闭word 2010时每次都提示:所做更改会影响共用模板Normal.dotm
  13. 深入理解CAS-认证原理
  14. 3500元计算机基本硬件配置清单,电脑硬件中配配置清单
  15. 联网获取360数据,识别骚扰电话,java实现
  16. 解决mysql保存数据SQLException: Incorrect string value: ‘\xF0\x9F\x91\x87\xE5\x91...‘ for column ‘错误
  17. java 调用 su,java调用外部应用程序
  18. 问题 : 我们的征途是星辰大海
  19. 第一行代码 Android读书笔记(二)
  20. WAMPServer3.1.4集成环境的下载(最新版)

热门文章

  1. 物联网+人工智能:发那科、思科、罗克韦尔自动化联合推出FIELD system
  2. maple化简_在线测试(Maple TA)使用须知yx - 课程中心.PDF
  3. 数据分析 --- 收集数据的原则
  4. HAProxy入门(一)
  5. oracle linux下开放1521端口
  6. 【2019-CS224n】Assignment1
  7. 《中国集成电路产业人才白皮书(2017-2018)》在京发布
  8. 如何快速找出一个数组中最大数和第二大数
  9. [代码解读]基于多代理RL的车联网频谱分享_Python实现
  10. 学成在线HTML代码,学成在线页面制作(HTML+CSS部分)(顶部+轮播图部分)