python输入一个正整数n求斐波那契数列不超过n_Python挑战100题(27~30)

这篇博客包含了四个Python编程挑战,涉及斐波那契数列、分拆素数和、超级楼梯问题以及砝码问题。通过解决这些问题,读者可以深入理解斐波那契序列的性质,以及如何利用递归和动态规划方法找到解决方案。同时,挑战还涵盖了素数判断、组合计数和枚举策略,旨在提升编程思维和算法能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

27、分拆素数和

题目:把一个偶数拆成两个不同素数的和,有几种拆法呢?

现在来考虑考虑这个问题,给你一个不超过10000的正的偶数n,

计算将该数拆成两个不同的素数之和的方法数,并输出。

如n=10,可以拆成3+7,只有这一种方法,因此输出1.

参考答案:

def isPrime(n):

if n<=1:

return False

for i in range(2,n):

if n % i == 0:

return False

return True

n = int(input('输入偶数n:'))

count = 0

for i in range(3,n):

if isPrime(i) and isPrime(n-i):

count += 1

print(count//2)

28、斐波那契数列

题目:斐波那契数列为1,1,2,3,5,8...。数列从第三项起满足,该项的数是其前面两个数之和。现在给你一个正整数n(n < 10000), 请你求出第n个斐波那契数取模20132013的值(斐波那契数列的编号从1开始)。

例如:

n=1, 则输出:1

n=4, 则输出:3

参考答案:

def fib(n):

x,y = 0,1

while (n):

x,y,n = y,x+y,n-1

return x

print(fib(n)%20132013)

29、超级楼梯

题目:有一楼梯共n级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第n级,共有多少种走法?

参考答案:

#找规律,发现随着n增加符合feib序列

def feib(n):</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值