2
删除一些并计数
考虑所有2^n不同长度的二进制字符串,n并假设n > 2。您可以b < n/2从每个二进制字符串中删除确切的位,而n-b保留剩余长度的字符串。剩余的不同字符串数取决于您删除的位。假设您的目标是保留尽可能少的其余不同字符串,那么此挑战是编写代码以计算作为的函数可以保留的剩余数量n。 示例n=3和b = 1。您只能留下两个字符串11和00。 对于n=9,b = 1,2,3,4我们有70,18,6,2 对于n=8,b = 1,2,3我们有40,10,4 对于n=7,b = 1,2,3我们有20,6,2 对于n=6,b = 1,2我们有12,4 对于n=5,b = 1,2我们有6,2 这个问题最初是由我于2014年在MO上提出的。 输入输出 您的代码应采用一个整数,n并为b从b = 0和递增的每个值输出一个整数。 得分 在基于Linux的PC上n,您的代码b < n/2在不到一分钟的时间内完成所有代码的最高分。如果出现平局,则b您的代码将获得最大的n胜利。在这一准则也为最大值最快的代码领带断裂的情况n和b决定。如果时间相差一秒或两秒以内,则第一个发布的答案将获胜。 语言和图书馆 您可以使用任何喜欢的库语言。因为我必须运行您的代码,所以如果它是免费的(例如在啤酒中)并且可以在Linux中工作,则将有所帮助。
26
fastest-code