Python Tip(41~45)题详解
来源:互联网 发布:appserv 端口 编辑:程序博客网 时间:2024/06/09 23:11
题目41.Py数
描述: Py从小喜欢奇特的东西,而且天生对数字特别敏感,一次偶然的机会,他发现了一个有趣的四位数2992,
这个数,它的十进制数表示,其四位数字之和为2+9+9+2=22,它的十六进制数BB0,其四位数字之和也为22,
同时它的十二进制数表示1894,其四位数字之和也为22,啊哈,真是巧啊。
Py非常喜欢这种四位数,由于他的发现,所以这里我们命名其为Py数。
现在给你一个十进制4位数n,你来判断n是不是Py数,若是,则输出Yes,否则输出No。
如n=2992,则输出Yes; n = 9999,则输出No。
答案:
def getSumByValue(n,value): res = 0 while n: res += n%value n /=value return resif getSumByValue(n,10) == getSumByValue(n,16) == getSumByValue(n,12): print 'Yes'else: print 'No'
题目42.分拆素数和
描述:把一个偶数拆成两个不同素数的和,有几种拆法呢?
现在来考虑考虑这个问题,给你一个不超过10000的正的偶数n,
计算将该数拆成两个不同的素数之和的方法数,并输出。
如n=10,可以拆成3+7,只有这一种方法,因此输出1.
答案:
def isprime(x): for i in range(2,x): if x%i == 0: return False return Truecount = 0for i in range(2,n/2): if isprime(i) and isprime(n-i): count = count + 1print count
题目43.斐波那契数列
描述:斐波那契数列为1,1,2,3,5,8…。数列从第三项起满足,该项的数是其前面两个数之和。
现在给你一个正整数n(n < 10000), 请你求出第n个斐波那契数取模20132013的值(斐波那契数列的编号从1开始)。
答案:此题在我的python训练题中已不止一次的出现了。
def fib(n): if n == 1: return [1] if n == 2: return [1, 1] fibs = [1, 1] for i in range(2, n): fibs.append(fibs[-1] + fibs[-2]) return fibs# 输出前 10 个斐波那契数列print fib(n)[-1]%20132013
题目44.超级阶梯
描述:有一楼梯共n级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第n级,共有多少种走法?
现在给你一个正整数n
如n=2,则输出1(你只有一种走法,走一步,从第一级到第二级)
答案:
方法一 :走法数满足斐波那契数列
# 使用递归def fib(n): if n==1 or n==2: return 1 return fib(n-1)+fib(n-2)# 输出了第n个斐波那契数列print fib(n)
方法二:
def LouTi(n): a=[1]*n for k in range(2,n): a[k]=a[k-2]+a[k-1] return a[-1]print LouTi(n)
题目45.砝码问题
描述:有一组砝码,重量互不相等,分别为m1、m2、m3……mn;它们可取的最大数量分别为x1、x2、x3……xn。
现要用这些砝码去称物体的重量,问能称出多少种不同的重量。
现在给你两个正整数列表w和n, 列表w中的第i个元素w[i]表示第i个砝码的重量,列表n的第
i个元素n[i]表示砝码i的最大数量。i从0开始,请你输出不同重量的种数。
如:w=[1,2], n=[2,1], 则输出5(分析:共有五种重量:0,1,2,3,4)
答案:
m = set()for i in range(n[0]+1): m.add(w[0]*i)for i in range(1,len(n)): tmp = m.copy() m.clear() for j in range(n[i]+1): for k in tmp: m.add(w[i]*j+k)print len(m)
- Python Tip(41~45)题详解
- Python Tip(31~35)题详解
- Python Tip(46~50)题详解
- Python Tip(51~55)题详解
- Python学习 Tip摘录
- python学习tip记录
- python Tip 算法题目
- Python 入门教程 2 ---- Tip Calculator
- 编程题Tip
- tip
- Tip
- tip
- Tip:
- TIP
- Tip
- tip
- Tip
- Tip
- nginx 代发有端口
- 字典树 HDU 1251 统计难题
- 安卓XML资源文件基本知识
- Spring Mvc将Get和Post请求转为Delete和Put请求
- ASP.NET Core MVC压缩样式、脚本及总是复制文件到输出目录
- Python Tip(41~45)题详解
- Swift3.0 泛型<T>
- Hdu 1558 Segment set(并查集+几何)
- 100道动态规划——26 UVA 12099 The Bookcase 状态的定义,递推,背包
- angularJs基础(1)
- Android应用开发特色
- 不得已一 维护一个栈并维护栈的最小元素getMin
- spring整合mybatis配置
- MCU应用程序架构