首页 > 解决方案 > 显示两组斐波那契数列 n 和 m 的幂集

问题描述

首先,斐波那契数列是 1、2、3 而不是 5、8、2,它没有得到纠正。其次,没有生成正确的电源组。最后是我想生成 n 和 m 的两个斐波那契数列(它们可以相同)并生成两组斐波那契数列 n 和 m 的幂集。

n = [0,1,2]
n[0] = 1
n[1] = 2
def powerSet(items):
    N = len(items)
    # enumerate the 2**N possible combinations
    for i in range(2**N):
        combo = []
        for j in range(N):
            # test bit jth of integer i
            if (i >> j) % 2 == 1:
                combo.append(items[j])
            else:
                yield combo

nterms = 3
count = 0
i = 0
if nterms <= 0:
   print("Please enter a positive integer")
elif nterms == 1:
   print("Fibonacci sequence upto",nterms,":")
   print(n[0])
else:
   print("Fibonacci sequence upto",nterms,"terms:")
   while count < nterms:
       print(n[i],end=' , ')
       nth = n[i] + n[i+1]
       # update values
       n[i] = n[i+1]
       n[i+1] = nth
       count += 1

i=0
for i in range(len(n)):
    print("\n",n[i], sep = ", ")
    i+=1
powerSet(n)


for k in powerSet(n):
    print(n)

标签: python

解决方案


推荐阅读