Дано четырехзначное число. Напишите программу ** языке pascal, которая определяет есть,...

0 голосов
157 просмотров

Дано четырехзначное число. Напишите программу на языке pascal, которая определяет есть, ли среди цифр заданного числа одинаковые и является ли число палиндромом, т.е. числом, десятичная запись которого читается одинаково слева направо и справа налево.


Информатика (12 баллов) | 157 просмотров
Дан 1 ответ
0 голосов

uses School; // PascalABC.NET версия после 14.04.2020

begin

 var a := Digits(ReadInteger('Введи число:'));

 if a.Length = a.Distinct.Count then

   Println('Нет одинаковых цифр, не палиндром')

 else

   begin

     Println('Есть одинаковые цифры');

     if (a[0] = a[3]) and (a[1] = a[2]) then

       Print('Палиндром')

     else

     Print('Не палиндром')

   end  

end.

(1.6k баллов)
0

что за digits?

0

Функция, возвращающая массив с цифрами числа. Из состава библиотеки School

0

Библиотека, специально разработанная для школьных задачек

0

я не знаю такого, чем заменить? мы это не проходили

0

Скопировать функцию из библиотеки в код

0

function Digits(n: int64): array of integer;
begin
var St := new Stack;
n := Abs(n);
if n = 0 then
Result := Arr(0)
else
begin
while n > 0 do
begin
St.Push(n mod 10);
n := n div 10
end;
Result := St.ToArray
end
end;

0

На будущее: "мы это не проходили" на этом сайте не катит.

0

Дающий решение не обязан знать, что именно вы там проходили.