Questions tagged «fibonacci»

挑战涉及斐波那契数或它们的概括之一。

7
n,最接近n的素数,n的平方和最接近n的斐波那契数的平均值是多少?
这是一个数学问题,涉及很多问题,使其颇具挑战性,并且您可能已经猜到,这是代码高尔夫球,因此它也应尽可能短。 的输入,n是任何整数数量(至少应该支持整数,但不必限于)。该输出是平均的: n 的平方 n 最接近质数 n n斐波那契数列中最接近的数字 不久,程序应该打印到标准输出通道的结果的(n+(n*n)+closestPrime(n)+closestFib(n))/4。 您不必担心可能的溢出等。正常的浮点精度也可以。 输入的方式完全取决于您。最短的程序(以字符为单位)获胜,就像打高尔夫球一样。 如果在寻找最接近的位置时出现平局,请选择以下选项之一: 上 下去 随机选择一个

20
FIBonacci序列
对于此代码高尔夫球,您将收到fib onacci序列的输入,即正常的斐波纳契序列,但其中一个数字不正确。看到,序列在跳动!得到它?:D 您的工作是找出哪个数字不正确,然后打印该数字的索引(从0开始)。 例如: Input : 1 1 2 9 5 8 13 Output: 3 Input : 8 13 21 34 55 80 Output: 5 Input : 2 3 5 5 13 21 Output: 3 规格: 该序列可以以任意数量开始。 输入的前两个数字将始终正确。 最短的代码(字符数)获胜。

10
我是一个特殊的N-bonacci号码吗?
N-bonacci序列最初是由@DJMcMayhem在此问题中发明的,它是通过以整数0和1开头,然后加上前N个数字以生成下一个数字而生成的序列。特殊的N-bonacci序列是一个以0和1以外的一对数字开头的N-bonacci序列,它们将被命名为X和Y。如果N大于序列中已经存在的项数,只需添加所有可用的条款。 因此,例如正常的斐波那契数列的N为2(取前两项),X和Y为0和1,或者1和1,具体取决于您问谁。 你的任务: 您将编写一个程序或函数来检查输入的整数(A)是否是由接下来的三个整数生成的特殊N-bonacci序列的一部分(将第二个输入用作N,将第三个和第四个用作X和Y) 。确保处理N = 1的特殊情况。 输入: 四个非负整数A,N,X和Y。 输出: 真/假值,指示A是否为N,X和Y输入生成的N-bonacci序列的一部分。 测试用例: Input: Output: 13,2,0,1->truthy 12,3,1,4->falsy 4,5,0,1-->truthy 8,1,8,9-->truthy 9,1,8,9-->truthy 12,5,0,1->falsy [0,1]>[0,1,1]>[0,1,1,2]>[0,1,1,2,4]>[0,1,1,2,4,8]>[0,1,1,2,4,8,16]>etc. 得分: 这是代码高尔夫球,因此以字节为单位的最低分数获胜。

18
斐波那契指数
对于此挑战,您将输出一些数字之和的结果。这些数字是多少?好吧,您将得到输入(a,b),它们是整数(正,负或零)a != b,,和a < b,并且a和b(包括它们)内的每个整数将根据斐波那契数具有指数。这很混乱,所以这里有个例子: Input: (-2, 2) Output: -2**1 + (-1**1) + 0**2 + 1**3 + 2**5 = -2 + -1 + 0 + 1 + 32 = 30 假设第一个斐波那契数由表示f(0),则公式为: a**f(0) + ... + b**f(b-a+1) 输入,处理,输出 为了阐明上述内容,以下是一些测试用例,输入的处理以及预期的输出: Input: (1, 2) Processing: 1**1 + 2**1 Output: 3 Input: (4, 8) …

15
计算斐波那契系数
背景 斐波那契数列定义为 f(1) = 1 f(2) = 1 f(n) = f(n-1) + f(n-2) 与阶乘相似,Fibonorial是前n个斐波纳契数的乘积。 g(n) = f(1) * f(2) * ... * f(n-1) * f(n) 与二项式系数相似的斐波诺式系数定义为 a(n, 0) = 1 a(n, k) = g(n) / ( g(n-k) * g(k) ) = f(n) * f(n-1) * ... * f(n-k+1) / ( …

30
前n个斐波纳契数列元素
有一个众所周知的问题,在这里,要求在短时间内(至少字符)斐波那契序列发生器。 我想知道是否有人可以在非常短的空间内生成斐波那契数列的前N个元素。我正在尝试用python来做,但是我对任何语言的简短回答都感兴趣。函数F(N)生成序列的前N个元素,或者将它们作为函数的返回值返回或打印出来。 有趣的是,似乎代码高尔夫球的答案以开头1 1 2,而不是0 1 1 2。这是代码高尔夫球规范还是通用编程规范?(维基百科说斐波那契数列从零开始。)。 Python示例(前5个元素): def f(i,j,n): if n>0: print i; f(j,i+j,n-1) f(1,1,5)

6
N个碱基中的回文数
给定一个非负整数n >= 0,请永远输出x_i >= 3以完全n不同b的底数为回文数的整数序列,底数可以是2 <= b <= x_i-2。 这基本上是OEIS A126071的反函数,在此输出中该序列中的哪些索引具有值n。有点不同,因为我更改了它,所以您忽略了碱基b = x_i-1, x_i, x_i+1,因为这些碱基的结果始终是相同的(值始终是回文率,或者始终不是)。此外,偏移量也不同。 x_i限制为数字,>= 3因此每个结果的第一项n为A037183。 请注意,输出格式是灵活的,但是应该以很好的方式分隔数字。 例子: n seq 0 3 4 6 11 19 47 53 79 103 137 139 149 163 167 ... 1 5 7 8 9 12 13 14 22 23 25 29 35 …
10 code-golf  sequence  base-conversion  palindrome  code-golf  array-manipulation  matrix  code-golf  string  ascii-art  code-golf  ascii-art  physics  code-golf  number  sequence  fibonacci  code-golf  ascii-art  packing  code-golf  string  hexadecimal  code-challenge  restricted-source  decision-problem  binary  code-golf  code-golf  code-golf  stack-exchange-api  code-golf  string  parsing  generation  data-structures  code-golf  kolmogorov-complexity  graphical-output  code-golf  array-manipulation  integer  generation  data-structures  code-golf  number  random  probability-theory  king-of-the-hill  java  minesweeper  code-golf  string  kolmogorov-complexity  animation  code-golf  string  code-golf  code-golf  quine  code-golf  internet  code-golf  arithmetic  base-conversion 

12
写最快的斐波那契
这是有关斐波那契数的又一挑战。 目标是尽快计算第20'000'000 个斐波那契数。小数输出大约是4 MiB。它开始于: 28543982899108793710435526490684533031144309848579 输出的MD5总和为 fa831ff5dd57a830792d8ded4c24c2cb 您必须提交一个程序,该程序在运行时计算数量并将结果放入stdout。以我自己的机器衡量,最快的程序胜出。 以下是一些其他规则: 您必须提交源代码和可在x64 Linux上运行的二进制文件 源代码必须短于1 MiB,如果只有二进制代码那么小,则在汇编的情况下也可以接受。 即使以变相的方式,也不得在二进制文件中包含要计算的数字。该数字必须在运行时计算。 我的计算机有两个核心。您被允许使用并行 我从Internet上进行了一个小型实施,运行时间约为4.5秒。假设您有一个好的算法,那么克服这一挑战应该不会很困难。

2
斐波那契精度的Phi显示能力
编写一些代码,该代码采用单个非负整数n,并输出与第n个斐波那契数相同的十进制数的Phi 的n次幂(ϕ,黄金比例,大约为1.61803398874989)。 您的代码必须为所有输入产生正确的数字序列,最多10个字符(55个十进制数字)。输出必须是人类可读的十进制。您可以选择是将最后一位四舍五入到最接近的值,还是截断该值。请指定您的代码使用哪个代码。 n和输出,最多10位,四舍五入: 0 1 1 1.6 2 2.6 3 4.23 4 6.854 5 11.09016 6 17.94427190 7 29.0344418537486 8 46.978713763747791812296 9 76.0131556174964248389559523684316960 10 122.9918693812442166512522758901100964746170048893169574174 n并输出,最大为10,四舍五入到最接近的值: 0 1 1 1.6 2 2.6 3 4.24 4 6.854 5 11.09017 6 17.94427191 7 29.0344418537486 8 46.978713763747791812296 9 76.0131556174964248389559523684316960 10 122.9918693812442166512522758901100964746170048893169574174 第7个斐波那契数为13,因此n …

3
生成有效的斐波那契平铺
背景 斐波那契平铺是(1D)线的平铺,使用两段:短段S和长段L(它们的长宽比是黄金比例,但这与这项挑战无关)。要将使用这两个原生动物的拼贴实际上是斐波那契拼贴,必须满足以下条件: 拼贴中不得包含子序列SS。 平铺中不得包含子序列LLL。 如果通过执行以下所有替换操作组成新的平铺,则结果仍必须是斐波那契平铺: LL → S S → L L → (空字符串) 让我们看一些例子: SLLSLLSLLSLS 这看起来像是一个有效的平铺,因为它不包含两个* S *或三个* L * s,但让我们执行合成: LSLSLSLL 看起来仍然不错,但是如果我们再次进行组合,我们会得到 LLLS 这不是有效的斐波那契平铺。因此,前两个序列也不是有效的平铺。 另一方面,如果我们从 LSLLSLSLLSLSLL 并反复将其组合成较短的序列 LSLLSLLS LSLSL LL S 所有结果都是有效的斐波那契平铺,因为我们从未在这些字符串内的任何位置获得SS或LLL。 为了进一步阅读,有一篇论文将这种平铺作为与Penrose平铺的简单一维类比。 挑战 编写一个程序或函数,给定一个非负整数N,该程序或函数以包含N个字符(be S或L)的字符串形式返回所有有效的斐波那契平铺。 您可以通过函数参数STDIN或ARGV接受输入,然后返回或打印结果。 这是代码高尔夫球,最短的答案(以字节为单位)获胜。 例子 N Output 0 (an empty string) 1 S, L …

9
写一个数字作为斐波那契总和
让我们将斐波那契数列定义为 F(1) = 1 F(2) = 2 F(n) = F(n - 2) + F(n - 1) 因此,我们有无限的序列1,2,3,5,8,13,...众所周知,任何正整数都可以写成某些斐波纳契数的总和。唯一的警告是,这种求和可能不是唯一的。总有至少一种将数字写成斐波纳契数之和的方法,但可能还有更多的方法。 您的挑战是编写一个完整的程序,该程序使用stdin接受一个介于1到1百万之间的正整数,然后使用stdout输出所有可能的斐波纳契数之和,这些总和等于输入。总而言之,斐波那契数不能重复,并且包括该数1。在任何求和中,如果1存在,则必须仅存在一次,因为在我对上述序列的定义中,1仅出现一次。仅包含项的求和是有效的,因此,如果输入数字本身是斐波那契数,则该数字本身是有效的求和并且必须打印。如果有多个总和,则在任意两个总和之间必须有一个空白行才能轻松区分它们。 这是一些样品。 ./myfib 1 1 这样的总和只有一个,并且只有一个术语,所以这就是所有要打印的内容。 ./myfib 2 2 请注意,这1+1是无效的总和,因为会1重复。 ./myfib 3 1+2 3 两个总和,并且两者之间都打印有空白行。 ./myfib 10 2+8 2+3+5 ./myfib 100 3+8+89 1+2+8+89 3+8+34+55 1+2+3+5+89 1+2+8+34+55 3+8+13+21+55 1+2+3+5+34+55 1+2+8+13+21+55 1+2+3+5+13+21+55 真正的代码高尔夫。以任何语言中最短的代码为准。请发布您的代码,并附上一些测试用例(我上面给出的测试用例除外)。如果是平局,我至少要等待两周甚至更长的时间才能选择最高票数。因此,社区请随时支持您喜欢的任何解决方案。代码的巧妙/美观远不如谁先发布。 编码愉快!
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.