Fibonacci数据类型

本文关键字:数据类型 Fibonacci | 更新日期: 2023-09-27 18:25:15

我正在编写一个Fibonacci级数生成器,我不确定应该使用哪种数据类型

  • 生成斐波那契数列中的前1000个数字,并将其存储在集合中。

  • 打乱上面的系列(即改变元素)并将其存储在一个新的集合中。

  • 通过以下规则转换以上2个集合来创建新集合-新集合中的每个元素都将是前2个集合中各个元素的平均值,位于同一索引中。即newcollection[0]=(原始[0]+shuffle[0])/2。

我决定我的原始集合和打乱的集合应该是IEnumerable<long>。平均出来的集合应该是IEnumerable<double>,你认为这是正确的吗?我应该使用IEnumerable<decimal>进行平均收集吗?

注意:最终所有集合都会刷新到控制台。

谢谢,-Mike

Fibonacci数据类型

IEnumerable<long>对于(无限)生成器来说很好。

然而,IEnumerable接口不能保证对元素的恒定(O(1))随机访问,这至少是混洗所需要的。因此,您应该将生成器的结果存储到IList<long>或一个简单的数组中。

编辑:

我做了一点研究,似乎即使是第100个斐波那契数也无法放入一个长数(检查Wolfram alpha)。你必须在这里使用一些大整数数据类型。。。

为什么不只使用标准数组?int[1000]和double[1000]?

只需使用List<int>,因为Fibonacci元素是整数。