1. Ипполит задумал трехзначное число, которое при делении на 15 имеет остаток 11, а при делении на 11 имеет остаток

  • 5
1. Ипполит задумал трехзначное число, которое при делении на 15 имеет остаток 11, а при делении на 11 имеет остаток 9. Напишите программу на языке Паскаль, которая находит все подходящие числа.
2. Программа должна запрашивать с клавиатуры натуральное число n, а затем находить его факториал (обозначается как n!) - произведение всех натуральных чисел от 1 до n. Например, 5! = 1 * 2 * 3 * 4 * 5 = 120.
3. Натуральное число называется числом Армстронга, если сумма цифр числа, возведенных в n-ю степень (где n - количество цифр в числе), равна самому числу. Например, 153 = 1^3 + 5^3 + 3^3. Найдите все трехзначные числа Армстронга.
Пушок
63
1. Решение задачи на языке Паскаль:

program Solution;
var
number: integer;

begin
for number := 100 to 999 do
begin
if (number mod 15 = 11) and (number mod 11 = 9) then
writeln(number);
end;
end.

В этой программе мы используем цикл `for`, чтобы перебрать все трехзначные числа от 100 до 999. Затем мы проверяем, удовлетворяет ли число условиям задачи: деление на 15 должно давать остаток 11, а деление на 11 - остаток 9. Если число удовлетворяет условиям, оно выводится на экран.

2. Решение задачи на нахождение факториала числа n:

program Solution;
var
number, factorial, i: integer;

begin
write("Введите натуральное число: ");
readln(number);

factorial := 1;

for i := 1 to number do
factorial := factorial * i;

writeln(number, "! = ", factorial);
end.

В этой программе мы сначала запрашиваем у пользователя натуральное число n с помощью функции `readln`. Затем мы инициализируем переменную `factorial` значением 1. За счет цикла `for` мы умножаем `factorial` на каждое число от 1 до n. В результате получаем факториал числа n, который выводим на экран.

3. Решение задачи на поиск числа Армстронга:

program Solution;
var
number, temp, digit, sum: integer;
power: real;

begin
write("Введите число: ");
readln(number);

temp := number;
sum := 0;
power := length(IntToStr(number));

while temp <> 0 do
begin
digit := temp mod 10;
sum := sum + round(power(digit, power));
temp := temp div 10;
end;

if sum = number then
writeln(number, " - число Армстронга")
else
writeln(number, " - не число Армстронга");
end.

В этой программе мы сначала запрашиваем у пользователя число n с помощью функции `readln`. Затем мы сохраняем это число в переменную `temp`, чтобы не изменять исходное значение. Затем мы инициализируем переменную `sum` значением 0 и переменную `power` значением количества цифр в числе.

Затем мы входим в цикл `while`, пока `temp` не равно 0, чтобы посчитать сумму цифр числа, возведенных в степень `power`. В каждой итерации мы берем последнюю цифру числа `temp` с помощью операции взятия остатка от деления на 10 (`digit := temp mod 10`), затем увеличиваем сумму на эту цифру, возведенную в степень `power` (`sum := sum + round(power(digit, power))`), и делим `temp` на 10, чтобы перейти к следующей цифре (`temp := temp div 10`).

После выхода из цикла, мы сравниваем сумму `sum` с исходным числом `number` и выводим сообщение, является ли число числом Армстронга или нет.