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
IEnumerable<long>
对于(无限)生成器来说很好。
然而,IEnumerable
接口不能保证对元素的恒定(O(1))随机访问,这至少是混洗所需要的。因此,您应该将生成器的结果存储到IList<long>
或一个简单的数组中。
编辑:
我做了一点研究,似乎即使是第100个斐波那契数也无法放入一个长数(检查Wolfram alpha)。你必须在这里使用一些大整数数据类型。。。
为什么不只使用标准数组?int[1000]和double[1000]?
只需使用List<int>
,因为Fibonacci元素是整数。