Задача
145 является любопытным числом, поскольку 1! + 4! + 5! = 1 + 24 + 120 = 145.
Найдите сумму всех чисел, каждое из которых равно сумме факториалов своих цифр.
Примечание: поскольку 1! = 1 и 2! = 2 не являются суммами, учитывать их не следует.
Решение
Даже не знаю, почему эта задача 34-я по списку, она вполне могла бы быть первой. Тут нет ничего сложного и всё считается напрямую.
Факториалы цифр от 0 до 9 заранее посчитаны и занесены в массив factorials. Обратите внимание, что 0! = 1.
Дальше просто перебираем числа, разделяем на разряды, берём факториалы от разрядов и находим их сумму. Сумму сравниваем с самим числом, и если они равны, то добавляем эту сумму к общей сумме total.
Небольшой нюанс заключается в нахождении верхнего предела цикла. Он находится где-то в районе 9! * 7, но я взял побольше, так как более точно считать неинтересно.
Ссылка на онлайн-компилятор языка C с текстом программы
Подборка всех задач: