Дано целое число определить равна ли сумма факториалов цифр данного числа самому числу.паскаль ,процедуры .

22 Окт 2019 в 03:47
145 +1
0
Ответы
1
program FactorialSum;
// Функция для вычисления факториала числа
function Factorial(n: integer): integer;
var
i, result: integer;
begin
result := 1;
for i := 1 to n do
result := result * i;
Factorial := result;
end;
// Процедура для проверки равенства суммы факториалов цифр числа самому числу
procedure CheckFactorialSum(num: integer);
var
originalNum, digit, sum, fact: integer;
begin
originalNum := num;
sum := 0;
while num > 0 do
begin
digit := num mod 10; // Получаем последнюю цифру числа
fact := Factorial(digit); // Вычисляем факториал цифры
sum := sum + fact; // Добавляем факториал цифры к сумме
num := num div 10; // Удаляем последнюю цифру числа
end;
if originalNum = sum then
writeln('Сумма факториалов цифр числа равна самому числу')
else
writeln('Сумма факториалов цифр числа НЕ равна самому числу');
end;
var
number: integer;
begin
// Ввод числа с клавиатуры
write('Введите целое число: ');
readln(number);
// Проверка равенства суммы факториалов цифр числа самому числу
CheckFactorialSum(number);
end.

Пример работы программы:

Введите целое число: 145
Сумма факториалов цифр числа равна самому числу
Введите целое число: 123
Сумма факториалов цифр числа НЕ равна самому числу
19 Апр 2024 в 10:01
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир