Skip to content

Latest commit

 

History

History

sequences

Последовательности

Числа Фибоначчи

Числа Фибоначчи определяются рекуррентной формулой: F(n) = F(n-1) + F(n-2). При этом F(0) = 0 и F(1) = 1.

Wiki: https://en.wikipedia.org/wiki/Fibonacci_number

Первые несколько чисел Фибоначчи:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...

Реализация размещена в модуле fibonacci.py.

Числа Люка

Числа Люка определяются рекуррентной формулой: L(n) = L(n-1) + L(n-2). При этом L(0) = 2 и L(1) = 1.

Wiki: https://en.wikipedia.org/wiki/Lucas_number

Первые несколько чисел Люка:

2, 1, 3, 4, 7, 11, 18, 29, 47, 76, 123, ...

Реализация размещена в модуле lucas_number.py.

Последовательность Голомба (Сильвермана)

Wiki: https://en.wikipedia.org/wiki/Golomb_sequence
OEIS: http://oeis.org/A001462
ProjectEuler: https://projecteuler.net/problem=341

Первые несколько элементов последовательности Голомба:

1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, ...

Последовательность "Посмотри и скажи"

Wiki: https://en.wikipedia.org/wiki/Look-and-say_sequence
OEIS: https://oeis.org/A005150
ProjectEuler: http://euler.jakumo.org/problems.html

Первые несколько элементов последовательности "Посмотри и скажи":

1, 11, 21, 1211, 111221, 312211, 13112221, 1113213211, ...

Функция Капрекара

Wiki: https://en.wikipedia.org/wiki/Kaprekar%27s_routine

Решето Эратосфена

Wiki: https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes

Числа Нивена или числа харшад, Нивенморфные числа и множественные числа Нивена

Числа Нивена

Числа харшад, или числа Нивена, — натуральные числа, делящиеся нацело на сумму своих цифр. Таким числом является, например, 1729, так как 1729 = (1 + 7 + 2 + 9) × 91.

Очевидно, что все числа от 1 до 10 являются числами харшад.

Первые чисела харшад, не меньших 10:

10, 12, 18, 20, 21, 24, 27, 30, 36, 40, 42, 45, 48, 50, 54, 60, ...

Wiki: https://en.wikipedia.org/wiki/Harshad_number
OEIS: https://oeis.org/A005349

Нивенморфные числа

Нивенморфное число или харшадморфное число - это целое число t такое, что существует некоторое число Нивена N, сумма цифр которого равна t, и t завершает N.

Например, 18 - это нивенморфное число по основанию 10:

16218 число Нивена, его сумма цифр равна 18
16218 заканчивается на 18

Множественные числа Нивена

Множественное число Нивена это число Нивена, которое при делении на сумму его цифр дает другое число Нивена. Например, число 6804 является множественным числом Нивена:

6804 / 18 = 378
 378 / 18 = 21
   21 / 3 = 7
    7 / 7 = 1

Число 2016502858579884466176 тоже является множественным числом Нивена и сходится к 1 за 12 шагов.

Смотрите реализацию алгоритмов поиска таких чисел в модуле harshad_number.py.

Гипотеза Коллатца

Гипотеза Коллатца рассматривает сиракузскую последовательность, строящуюся по простым правилам. Берём любое натуральное число n. Если оно чётное, то делим его на 2, а если нечётное, то умножаем на 3 и прибавляем 1 (получаем 3n + 1). Над полученным числом выполняем те же самые действия, и так далее.

Гипотеза заключается в том, что любое число n преобразованное по таким правилам рано или поздно сойдется к единице.

Например, последовательность, начинающаяся числом 19, приходит к единице за двадцать шагов:

19, 58, 29, 88, 44, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1, ...

Wiki: https://en.wikipedia.org/wiki/Collatz_conjecture
OEIS: https://oeis.org/A014682

Числа вампиры

Число-вампир — составное натуральное число с чётным количеством цифр, которое может быть разложено в произведение двух некоторых целых (также называемых «клыками»), удовлетворяющих специальным правилам:

  • каждое из них должно состоять из количества цифр, вдвое меньшего, чем у исходного числа;
  • если в одном из них последняя цифра ноль, то другое оканчиваться нулём не может;
  • исходное число должно в любом порядке содержать все цифры, входящие в «клыки», то есть для любой цифры числа вхождений в исходное число и в клыки должны быть равными.

Пример такого числа:

6880 = 86 * 80

Первые несколько чисел вампиров:

1260, 1395, 1435, 1530, 1827, 2187, 6880, 102510, 104260, 105210, ...

Смотрите реализацию алгоритмов поиска таких чисел в модуле vampire_number.py.py.

Wiki: https://en.wikipedia.org/wiki/Vampire_number
OEIS: https://oeis.org/A014575