Дана последовательность Фибоначчи по простому модулю P (P <= 1000). F(0) = 0, F(1) = 1, F(i + 2) = (F(i) + F(i - C#

Узнай цену своей работы

Формулировка задачи:

Дана последовательность Фибоначчи по простому модулю P (P <= 1000). F(0) = 0, F(1) = 1, F(i + 2) = (F(i) + F(i + 1)) % P. Нужно найти период этой последовательности или сказать, что его нет.

Решение задачи: «Дана последовательность Фибоначчи по простому модулю P (P <= 1000). F(0) = 0, F(1) = 1, F(i + 2) = (F(i) + F(i»

textual
Листинг программы
int M = 7;
var hs = new HashSet<Tuple<int, int>>();
for (var f = Tuple.Create(1, 1); hs.Add(f);
        f = Tuple.Create(f.Item2, (f.Item1 + f.Item2) % M)) ;
 
Console.WriteLine($"Pi({M}) = {hs.Count}");
Console.ReadLine();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.25 из 5
Похожие ответы