Число палиндром - Pascal
Формулировка задачи:
Решение задачи: «Число палиндром»
function Palindrom(n:longint):boolean;
var m,p:longint;
i:integer;
begin
m:=n;p:=0;
while m>0 do
begin
i:=m mod 10;
p:=p*10+i;
m:=m div 10;
end;
if p=n then Palindrom:=true
else Palindrom:=false;
end;
var n,k,i:longint;
begin
n:=0;
repeat
write('k = ');
readln(k);
until (k>1)and(k<100000);
for i:=1 to k do
if Palindrom(i) then inc(n);
writeln('n = ',n);
readln
end.
Объяснение кода листинга программы
Этот код написан на языке Pascal и предназначен для проверки, является ли число палиндромом. В функции Palindrom(n:longint) используется переменная m, которая содержит исходное число, и переменная p, которая является результатом его преобразования в палиндром. Также используются переменные i и n, которые используются для обработки числа. Цикл while используется для преобразования числа в палиндром. Он продолжается до тех пор, пока m не станет равным нулю. Внутри цикла значение m делится на 10, а результат умножается на 10 и добавляется к i. Затем значение m делится на 10, и этот процесс повторяется до тех пор, пока m не станет равным нулю. Если после завершения цикла значение p равно n, то число является палиндромом, и функция возвращает true. В противном случае она возвращает false. В основной части кода используется переменная n, которая инициализируется нулем. Затем в цикле repeat-until читается значение k, и проверяется, что оно больше 1 и меньше 100000. Если это условие выполняется, то переменная n увеличивается на единицу. После этого выводится значение n. Цикл for используется для проверки каждого числа от 1 до k, является ли оно палиндромом. Если это так, то значение n увеличивается на единицу. В конце кода выводится сообщение с значением n. Код также содержит инструкции для чтения и записи значений с помощью функций readln() и write().