Использование подпрограмм: найти первые n автоморфных чисел - Free Pascal
Формулировка задачи:
Для заданного натурального n найти первые n автоморфных чисел. Написать и использовать в программе логическую функцию, определяющую, явлеется ли число автоморфным.
(Число называется автоморфным, если квадрат этого числа заканчивается этим же числом)
Решение задачи: «Использование подпрограмм: найти первые n автоморфных чисел»
textual
Листинг программы
{$mode objfpc} function isAutoMorph(n : qword) : boolean; var p, t : integer; begin t := n; p := 1; while t > 0 do begin p := 10 * p; t := t div 10; end; result := sqr(n) mod p = n; end; var i, n, value : integer; begin readln(n); i := 0; value := 1; repeat if isAutoMorph(value) then begin writeln(value); inc(i); end; inc(value); until i = n; readln; end.
Объяснение кода листинга программы
- Объявлены функция isAutoMorph и переменные p, t, result
- В функции isAutoMorph происходит вычисление автоморфного числа
- В основной программе происходит считывание числа n
- Переменная i инициализируется как 0, а переменная value как 1
- В цикле repeat с помощью функции isAutoMorph проверяется является ли число автоморфным, если да, то оно выводится на экран и увеличивается счетчик i
- После каждой итерации цикла значение переменной value увеличивается на 1
- Цикл выполняется до тех пор, пока i не станет равным n
- После выполнения цикла происходит считывание еще одного числа (возможно, от пользователя)
- Программа завершается
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д