算法:
给定数n,所有大小为n的二进制数的列表(L(n))可以通过以下方式从L(n-1)计算:
例如,如果n = 2,我们可以通过以下方式获得大小为2的所有二进制数的列表:
问题陈述:给定数字n,找到n个二进制数的列表。
解决方案:如果n小于20,则可以使用简单的递归或非递归解决方案。
问题:如果通过更大的数字,我的代码会失败,可以说40并超过内存限制 为什么? - ' Coz对于一个数字可以说40,二进制数的总数将是功率(2,40),这是巨大的(1048576 * 1048576)。 那么,有没有更好的算法或方法来解决上述问题?
答案 0 :(得分:0)
您可以做的只是存储前import numpy as np
import matplotlib.pyplot as plt
plt.plot(x,y)
个号码。似乎在每种情况下,您只需要第一个n
数字才能反转并附加'1'以获得正确的输出。