Тип данных Фибоначчи - PullRequest
       14

Тип данных Фибоначчи

1 голос
/ 20 февраля 2012

Я пишу генератор серии Фибоначчи, и я не уверен, какой тип данных мне использовать для него.Вот что я делаю:

  • Создайте первые 1000 чисел в серии Фибоначчи и сохраните их в коллекции.

  • ПеремешайтеПриведенные выше серии (т. е. манипулирование элементами) и сохранение их в новой коллекции.

  • Создайте новую коллекцию, преобразовав 2 вышеупомянутые коллекции по следующему правилу - каждый элемент в новой коллекции будетбыть средним из соответствующих элементов в первых 2 коллекциях, находящихся в том же индексе.т.е. newcollection [0] = (original [0] + shuffle [0]) / 2.

Я решил, что моя оригинальная коллекция и перетасованная коллекция должны быть IEnumerable<long>.Усредненная коллекция должна составлять IEnumerable<double>, как вы думаете, это правильно?Должен ли я использовать IEnumerable<decimal> для усредненной коллекции?

Примечание. В конце концов все коллекции сбрасываются на консоль.

Спасибо, -Mike

Ответы [ 3 ]

3 голосов
/ 20 февраля 2012

IEnumerable<long> подходит для (бесконечного) генератора.

Однако интерфейс IEnumerable не гарантирует постоянного (O (1)) произвольного доступа к элементам, который требуется как минимумдля перетасовкиПоэтому вы должны сохранить результаты генератора в IList<long> или в простом массиве.

РЕДАКТИРОВАТЬ:

Я провел небольшое исследование, и кажется, что даже сотое число Фибоначчи не можетвписаться в длинную ( проверка Wolfram alpha ).Вы должны использовать какой-нибудь большой тип целого числа здесь ...

0 голосов
/ 20 февраля 2012

Просто используйте List<int>, потому что элементы Фибоначчи являются целыми числами.

0 голосов
/ 20 февраля 2012

Почему бы вам не использовать только стандартные массивы? int [1000] и double [1000]?

...