397 подписчиков

Решение 34 задачи проекта Эйлера: Факториалы цифр

Для ускорения работы программы вычислил и сохранил факториалы чисел в массив по индексу.

Условия задачи

145 является любопытным числом, поскольку

1! + 4! + 5! = 1 + 24 + 120 = 145.

Найдите сумму всех чисел, каждое из которых равно сумме факториалов своих цифр.

Примечание: поскольку 1! = 1 и 2! = 2 не являются суммами, учитывать их не следует.

Описание работы программы

Программа для решения задачи Эйлера #34
Программа для решения задачи Эйлера #34

Поскольку в процессе работы программы многократно будут необходимы значения факториалов от 0! до 9!, то решил вычислить их один раз и их значения сохранить в массив по индексу чисел.

массив[число] = факториал числа;

Далее необходимо определиться до какого числа необходимо искать искомые числа. Рассуждения следующие:

  • 9! = 362880 - шестизначное число
  • семизначное число может получиться от суммы десяти таких чисел
  • следовательно, проверять нужно до семизначных чисел, не более

Далее, в цикле, каждое число раскладывается на цифры, по индексу в массиве определяется факториал числа и число сравнивается с суммой факториалов его цифр - все как в задании.

Ответ на задачу:

P.S. Изначальная цель блога - получить "фидбек" в комментариях, чтобы более опытные "кодеры" указывали мне на ошибки, советовали и всячески помогали в саморазвитии.

Также приглашаю всех на мой сайт)

На нем Вы можете посмотреть ответ на задачу Эйлера 34 (когда необходима лишь небольшая подсказка) и последний, самый быстрый вариант решения.

Где он!!? Тот который не подписался?)))
Где он!!? Тот который не подписался?)))

В общем, добро пожаловать на канал))