Python 3.x 求小于n的斐波那契数之和
我必须找到一个值n之前所有斐波那契数的和。所以我得到的最后一个斐波那契值小于或等于n。例如,fibonacci(10)的和是0+1+1+2+3+5+8,因为8可以通过将所有小于n的fibonacci数存储在列表中,然后返回其和来实现Python 3.x 求小于n的斐波那契数之和,python-3.x,fibonacci,Python 3.x,Fibonacci,我必须找到一个值n之前所有斐波那契数的和。所以我得到的最后一个斐波那契值小于或等于n。例如,fibonacci(10)的和是0+1+1+2+3+5+8,因为8可以通过将所有小于n的fibonacci数存储在列表中,然后返回其和来实现 def sum_of_fibonacci(n): if n == 0 : return 0 fib = [0, 1] #initializing the list of Fibonacci numbers i = 2 #positio
def sum_of_fibonacci(n):
if n == 0 : return 0
fib = [0, 1] #initializing the list of Fibonacci numbers
i = 2 #position of next_fib
next_fib = 1
while next_fib <n :
fib.append(next_fib)
i += 1
next_fib = fib[i-1] + fib[i-2]
return sum(fib)
print(sum_of_fibonacci(10))
# 20
fibonacci(n)的定义和:
如果n==0:返回0
fib=[0,1]#初始化斐波那契数列表
i=2#下一个fib的位置
next_fib=1
而NEXTYFIB 基于此用例更新了我的响应:<代码>例如,FiBoNasi(10)的SUMIX将是0 + 1 + 1 + 2 + 3 + 5 + 8,因为您考虑过“代码>范围(n)< /代码>和<代码>和>代码>从您的代码> FIB < /代码>函数中返回的值吗?对于FIB(4),要停止在<代码> 0 + 1 + 1 + SUV++ <代码>和FIB(i)你想停在
0+1+1+2+3+5
?这是你的问题吗?在第一种情况下,3<4<5
您希望在3
处停止,而在第二种情况下,5<7<8
您希望它在5
处停止?
def sum_of_fibonacci(n):
if n == 0 : return 0
fib = [0, 1] #initializing the list of Fibonacci numbers
i = 2 #position of next_fib
next_fib = 1
while next_fib <n :
fib.append(next_fib)
i += 1
next_fib = fib[i-1] + fib[i-2]
return sum(fib)
print(sum_of_fibonacci(10))
# 20
MAX_RANGE = 10000 #we'll consider the first 10000 Fibonacci numbers
fib = [0, 1]
for i in range(2, MAX_RANGE):
fib.append((fib[i-1] + fib[i-2]))
def sum_of_fibonacci(n):
if n == 0 : return 0
return sum([f for f in fib if f<n])
Q = int(input()) #input the number of test cases
for i in range(Q):
to = int(input()) #input each test case
print(sum_of_fibonacci(to))
# input : 2
# input : 10
# output : 20
# input : 100
# output : 232
def sum_of_fib(n):
a = 0
b = 1
if n < 0:
print ('Incorrect input')
elif n in (0,1): return n
else:
s = 0
while b <= n:
s += b
a,b = b,a+b
return s
print ('sum of fib till 0:',sum_of_fib(0))
print ('sum of fib till 1:',sum_of_fib(1))
print ('sum of fib till 2:',sum_of_fib(2))
print ('sum of fib till 3:',sum_of_fib(3))
print ('sum of fib till 4:',sum_of_fib(4))
print ('sum of fib till 5:',sum_of_fib(5))
print ('sum of fib till 6:',sum_of_fib(6))
print ('sum of fib till 7:',sum_of_fib(7))
print ('sum of fib till 8:',sum_of_fib(8))
print ('sum of fib till 9:',sum_of_fib(9))
print ('sum of fib till 10:',sum_of_fib(10))
sum of fib till 0: 0
sum of fib till 1: 1
sum of fib till 2: 4
sum of fib till 3: 7
sum of fib till 4: 7
sum of fib till 5: 12
sum of fib till 6: 12
sum of fib till 7: 12
sum of fib till 8: 20
sum of fib till 9: 20
sum of fib till 10: 20