首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从第n项到第m项计算Fibonacci级数

从第n项到第m项计算Fibonacci级数
EN

Code Golf用户
提问于 2014-03-13 03:06:04
回答 4查看 549关注 0票数 -2

您的目标是计算Fibonacci级数从第n项到第m项的和(包括这两个项)。

  • 在你选择的语言中,不使用/ * %或数学上的它们。
  • 没有使用特殊的函数或代码语言专门这样做!
  • 您必须自己制作该系列,而不是使用任何特殊的函数或代码语言。

输出

代码语言:javascript
复制
#1

0 5
series : 1 1 2 3 5 8  
sum    : 20

#2

2 5
series : 2 3 5 8
sum    : 18

祝好运:]

EN

回答 4

Code Golf用户

回答已采纳

发布于 2014-03-13 05:02:58

Julia

代码语言:javascript
复制
fib(n)=n<2?1:fib(n-1)+fib(n-2)
sumfib(n,m)=sum([fib(i) for i=n:m])

产出实例:

代码语言:javascript
复制
julia> sumfib(0,5)  # 1  1  2  3  5  8
20

julia> sumfib(2,4)  # 2  3  5
10

julia> sumfib(2,5)  # 2  3  5  8
18

编辑:修改成适合问题的斐波纳契惯例。

票数 1
EN

Code Golf用户

发布于 2014-03-13 08:44:31

J (35个字符)

用Fibonacci序列从索引0开始,根据当前的惯例值为0的J中的一个解。斜杠/与J.

代码语言:javascript
复制
(;+/)@:(+/@(!|.)@i."0)@([+i.@>:@-~)

例如:

代码语言:javascript
复制
3 (;+/)@:(+/@(!|.)@i."0)@([+i.@>:@-~) 6
┌───────┬──┐
│2 3 5 8│18│
└───────┴──┘
票数 1
EN

Code Golf用户

发布于 2014-03-13 09:36:01

Delphi

代码语言:javascript
复制
uses
  System.SysUtils,idglobal;
var
  i,n,m,ires:integer;
  a:TArray<integer>;
  res:string;
begin
  ires:=0;
  readln(n,m);
  SetLength(a,m+1);
  for i:=0to m+1 do
    a[i]:=iif(i<2,1,a[i-1]+a[i-2]);
  for i:=n to m do
  begin
    write(Format('%d ',[a[i]]));
    inc(ires,a[i]);
  end;
  WriteLn('|'+IntToStr(ires));
end.

输入:0 5

输出:1 1 2 3 5 8 | 20

输入:1 20

输出:1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 | 28655

票数 1
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/24012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档