如何生成斐波那契数列?

问题描述 投票:0回答:1

我不知道该怎么做。

通过创建,计算和显示N个斐波那契元素来保存算法。序列的前两个元素等于1,而每个后续元素根据f(n)= f(n-2)+ f(n-1)

我必须在图NS,流程图,伪代码中执行此操作

fibonacci informatica
1个回答
0
投票

可以使用Informatica计算斐波那契数列,但实际上并不是正确的工具!斐波那契数列是基于递归的,而Informatica大多是线性的。

为了模拟Informatica中的递归性,可以使用在Expressions中声明为变量的字段的属性:当Expression中有新行时,它们保持相同的值,并按顺序对其求值。

基于此知识,您可以创建具有以下元素的映射:

  • 具有单个字段的源(将不使用其值)
  • 源限定符(只是因为有必要)
  • 具有5个字段的表达式转换:一个输入字段,3个BigInt类型的变量字段(Un_2Un_1Un)和一个BigInt类型的输出字段(Un_out
  • 具有单个类型为BigInt的字段的目标,它将包含斐波那契序列的值

在表达式转换中,字段包含以下表达式:

  • n_unused(输入,无表达式)
  • Un_2Un_1
  • Un_1IIF(Un_1 = 0, 1, Un)
  • UnUn_2 + Un_1
  • Un_outUn_2

这些表达式起作用,因为变量的初始值为零。 Un_out接收Un_2以查看斐波那契数列的第一个值:0和1。

将源字段链接到n_unused,将Un_out链接到目标字段。然后为该映射创建并配置工作流。您必须提供包含一些行的输入文件才能使它起作用!

作为补充,在Informatica因溢出而停止之前可以计算多少个值? (毕竟我们处于堆栈溢出!)

© www.soinside.com 2019 - 2024. All rights reserved.