READLN (N);.
UNTIL N>0; М:= N; R:= 1; WHILE M>0 DO BEGIN M:= M DIV 10; R:=R*10; END; IF (N*N MOD R) = N THEN WRITELN('ЧИСЛО ', N, ' АВТОМОРФНО') ELSE WRITELN('ЧИСЛО ', N, ' HE АВТОМОРФНО') END. Для решения задачи: - формируем тело программы и описываем переменные; - вводим натуральное N; - определяем, сколько в нем разрядов, и формируем R; - отделяем нужное количество разрядов от N*N с помощью функции N*N MOD R; - выводим результат. Переменные: N - исследуемое число; М, R - вспомогательные переменные. Задача 2.10 Дано натуральное чист N. Определить, является ли оно палиндромом. Число-палиндром можно читать справа налево и слева направо: 4 88 121 767767 и т. д. PROGRAM PRG2_10; VAR N, R, М, К, I: INTEGER; F: BOOLEAN; BEGIN {ДАНО НАТУРАЛЬНОЕ ЧИСЛО N. ОПРЕДЕЛИТЬ, ЯВЛЯЕТСЯ ЛИ ОНО ПАЛИНДРОМОМ. ЧИСЛО-ПАЛИНДРОМ МОЖНО ЧИТАТЬ СПРАВА НАЛЕВО И СЛЕВА НАПРАВО: 4 88 121 767767 И Т. Д.} REPEAT WRITE('BBЕДИTE НАТУРАЛЬНОЕ ЧИСЛО N = '); READLN (N); UNTIL N>0; М:- N;R:= 1;К:= 1;F:= FALSE; WHILE (M DIV 10)>0 DO BEGIN M:= M DIV 10; R:= R*10; К:= K+1 END; M:= N; FOR I:= 1 TO К DIV 2 DO BEGIN IF (M DIV R)<> (M MOD 10) THEN F:= TRUE; M:= (M MOD R) DIV 10; R:= R DIV 100 END; IF F THEN WRITELN('ЧИСЛО', N, ' HE ПАЛИНДРОМ') ELSE WRITELN('ЧИСЛО', N, ' ПАЛИНДРОМ') END; Для решения задачи: - формируем тело программы и описываем переменные; - вводим натуральное N; - определяем, сколько в нем разрядов, и формируем R; - в цикле по I отделяем по одному разряду справа и слева и сравниваем их, отделяя рассмотренные разряды; - выводим результат. Переменные: N - исследуемое число; М, R - вспомогательные переменные; I - переменная цикла; К - количество разрядов; F - вспомогательный флаг. ВВЕДИТЕ НАТУРАЛЬНОЕ ЧИСЛО N = 121
|