文档章节

获取 "斐波那契数列" 的函数

涂孟超
 涂孟超
发布于 2014/09/26 15:31
字数 175
阅读 13
收藏 0

{ 斐波那契数列: 1、2、3、5、8、13、21、34、55、89、144 ... 等于前两数之和 }
{ 昂纳多·斐波那契(Leonardo Fibonacci, 1170-1240, 意大利数学家) }

uses Types;

{参数 2 是要获取的总数}
procedure fbnc(var A: TInt64DynArray; Count: Integer);
var
  i: Integer;
begin
  SetLength(A, Count);
  A[0] := 1;
  A[1] := 2;
  for i := 2 to Count do A[i] := A[i-2] + A[i-1];
end;

{测试}
procedure TForm1.Button1Click(Sender: TObject);
var
  ns: TInt64DynArray;
  n: Int64;
begin
  fbnc(ns, 90);
  Memo1.Clear;
  for n in ns do Memo1.Lines.Add(IntToStr(n));
end;

{查看其黄金分割比}
procedure TForm1.Button2Click(Sender: TObject);
var
  ns: TInt64DynArray;
  i: Integer;
begin
  fbnc(ns, 90);
  Memo1.Clear;
  for i := 0 to Length(ns) - 1 do
  begin
    if i = 0 then Continue;
    Memo1.Lines.Add(FloatToStr(ns[i] / ns[i-1]));
  end;
end;

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2010/05/10/1731593.html

涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
私信 提问
使用递归解决斐波那契数列的性能问题

我们知道斐波那契数列(也称作兔子数列) 1,1,2,3,5,8,13,21,34。。。。。 前两位数固定是1,之后每一位数都是前两位数的之和,这样的数列就是斐波那契数列 那么我们要求这样的数列,就必须要...

爱碎了夏天
2018/08/07
0
0
科普向 - 趣味的斐波那契数列

1.从一道面试题开始 每个程序员从第一次接触计算机编程语言到真正作为工程师进行项目开发,都一定都见过下面这道题目: 很多个台阶,可以一次走一个台阶,也可以一次走两个台阶,那么走台阶时...

ssssyoki
2018/08/11
0
0
Common Lisp循环和递归

循环: 1)do循环 语法:(do ((变量名 变量初值 (变量变化语句))) (结束条件 返回值) 循环主体) CL-USER> (defun draw-line (x) (do ((i 0 (1+ i))) ((>= i x) nil) ;;nil可以忽略 (format ...

努力喵
2015/12/27
99
2
JS专题之memoization

前言 在计算机领域,记忆(memoization)是主要用于加速程序计算的一种优化技术,它使得函数避免重复演算之前已被处理过的输入,而返回已缓存的结果。 -- wikipedia 的原理就是把函数的每次执...

南波
02/08
0
0
Python札记18_斐波那契函数(更新)

斐波那契函数起源于的实现,斐波那契数列为: a[0] = 0 (n=0) a[1] = 1 (n=1) a[n] = a[n-1] + a[n-2] (n>=2) 本篇文章将会从各个方法实现斐波那契数列 方法1 理解 先定义一个初始列表,用于...

皮皮大
06/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

zk中ToBeAppliedRequestProcessor解析

ToBeAppliedRequestProcessor在Leader中 在已处理事务和最后处理事务处理器之间,处理器链上下一个是FinalRequestProcessor public void processRequest(Request request) throws RequestPro...

writeademo
16分钟前
2
0
Allegro快捷键设置-PCB环境

立题简介: 内容:简单介绍Allegro绘制的PCB环境下的快捷键; 来源:实际使用得出; 作用:对Allegro绘制PCB快捷键进行介绍; PCB环境:Cadence 16.6; 立题详解: 对“allegro”板而言,其在...

demyar
17分钟前
2
0
idea maven web项目启动build时报错java.lang.NullPointerException

之前还好好的,重启一下idea就报这个错了,大概率是tomcat没杀掉端口被占用了,在tomcat配置中更换一下sever端口就好了

宇辰OSC
20分钟前
2
0
weed3-2.3.1.查询之输出

Weed3 一个超轻量级ORM框架(只有0.1Mb哦) 源码:https://github.com/noear/weed3 源码:https://gitee.com/noear/weed3 查询可是个复杂的话题了,可能我们80%的数据库处理都在查询。 今天先...

刘之西东
20分钟前
2
0
【Android JetPack系列】数据绑定:DataBinding

参考MVVM

Agnes2017
29分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部