Вопрос задан 13.02.2025 в 17:17. Предмет Информатика. Спрашивает Мышковец Александра.

Натуральное число называется автоморфным , если оно равно последним цифрам своего квадрата. Например, 25^2=625 . Напишите программу, которая находит все автоморфные числа на отрезке [ a , b ] .

Входные данные
Входная строка содержит два натуральных числа – значения a и b , разделённых пробелами. Гарантируется, что a ≤ b .

Выходные данные
Программа должна вывести в одну строчку все автоморфные числа на отрезке [ a , b ] , разделив их пробелами. Если таких чисел нет, программа должна вывести число -1.

Примеры
входные данные
20 100
выходные данные
25 76
На паскале, через циклы, пожалуйста.

Перейти к ответам

Ответы на вопрос

Отвечает Соловей Танюша.

Вот подробное решение задачи на языке Pascal:

Описание программы:

Программа перебирает все числа на заданном отрезке [a, b]. Для каждого числа она проверяет, является ли оно автоморфным, сравнивая его с последними цифрами его квадрата. Если число автоморфное, оно добавляется в результат. Если автоморфных чисел не найдено, выводится -1.

Код программы:

pascal
program AutomorphicNumbers;

var a, b, i, square: LongInt; strNum, strSquare: String; found: Boolean;

begin // Чтение входных данных ReadLn(a, b); // Флаг для проверки, найдено ли хотя бы одно автоморфное число found := False;

// Перебираем все числа от a до b for i := a to b do begin // Находим квадрат числа square := i * i;

// Преобразуем число и его квадрат в строки Str(i, strNum); Str(square, strSquare);

// Проверяем, совпадают ли последние цифры квадрата с числом if Copy(strSquare, Length(strSquare) - Length(strNum) + 1, Length(strNum)) = strNum then begin // Если число автоморфное, выводим его и устанавливаем флаг Write(i, ' '); found := True; end; end;

// Если ни одного автоморфного числа не найдено, выводим -1 if not found then WriteLn(-1) else WriteLn; end.

Объяснение кода:

  1. Ввод чисел: Программа читает значения a и b из входной строки.
  2. Цикл проверки: Для каждого числа i в диапазоне [a, b]:
    • Вычисляется квадрат числа square := i * i.
    • Число i и его квадрат square преобразуются в строковый формат.
    • Сравниваются последние цифры строки квадрата с исходным числом. Для этого используется функция Copy.
  3. Вывод результата:
    • Если число совпадает с последними цифрами квадрата, оно выводится.
    • Если автоморфных чисел не найдено, выводится -1.

Пример выполнения программы:

Входные данные:

20 100

Пошаговый процесс:

  • Для 25: 25^2 = 625. Последние цифры 625 — это 25, значит число автоморфное.
  • Для 76: 76^2 = 5776. Последние цифры 5776 — это 76, значит число автоморфное.
  • Остальные числа в этом диапазоне не соответствуют условию.

Выходные данные:

25 76

Если в диапазоне нет автоморфных чисел, программа выведет -1.

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос