Напишите программу на языке Pascal пожалуйста:
Назовём натуральное четырёхзначное число N (N находится в диапазоне от 1000 до 9999) счастливым, если суммы двух его первых и двух последних цифр различаются не более, чем на 3. Найдите количество таких чисел.
Ответы
Ответ:
program HappyNumbers;
var
N, thousands, hundreds, tens, ones, sum1, sum2, count: integer;
begin
count := 0;
for N := 1000 to 9999 do
begin
thousands := N div 1000;
hundreds := (N div 100) mod 10;
tens := (N div 10) mod 10;
ones := N mod 10;
sum1 := thousands + hundreds;
sum2 := tens + ones;
if abs(sum1 - sum2) <= 3 then
begin
count := count + 1;
end;
end;
writeln('Number of happy numbers: ', count);
end.
Объяснение:
Сначала мы объявляем переменные N, thousands, hundreds, tens, ones, sum1, sum2 и count. Затем мы запускаем цикл for, который перебирает все четырехзначные числа N от 1000 до 9999.
Внутри цикла мы используем операторы div и mod для извлечения каждой цифры из N. Мы вычисляем суммы sum1 и sum2, как суммы первых двух цифр и последних двух цифр соответственно.
Затем мы проверяем, удовлетворяет ли число N условию счастливого числа. Если разность между sum1 и sum2 не превышает 3, мы увеличиваем счетчик count.
Наконец, мы выводим количество найденных счастливых чисел.