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):</