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 Сумма факториалов цифр числа НЕ равна самому числу
// Функция для вычисления факториала числа
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
Сумма факториалов цифр числа НЕ равна самому числу