Усложнённый вариант(всё работает исправно,при вводе больше или меньше 3 чисел выводится сообщение "Это не трёхзначное число!"):
var
i,a,d:integer;
s:string;
begin
writeln('Введите трёхзначное число ');
read(s);
d:=length(s);
if d<>3 then
write('Это не трёхзначное число!');
if d=3 then
if (s[1]=s[2])or(s[1]=s[3])or(s[2]=s[3]) then
write('Да')
else
write('Нет');
end.
Простой вариант(выводится ошибка если цифр больше или меньше трёх!):
var
i,a,d:integer;
s:string;
begin
writeln('Введите трёхзначное число ');
read(s);
if (s[1]=s[2])or(s[1]=s[3])or(s[2]=s[3]) then
write('Да')
else
write('Нет');
end.
Даю 2 варианта, так-как незнаю,проходили ли вы функцию "length" или нет.
Если нет,то препад заподозрит что вы списали откуда нибудь или вам кто-то подсказал.
begin
var N, A, B, C, D: integer;
Readln(N, A, B, C, D);
if A > C then (A, B, C, D) := (C, D, B, A);
var s := 1.To(A - 1);
if B < C then // ( ) [ ]
s := s + B.Downto(A) + (B + 1).To(C - 1) +
D.Downto(C) + (D + 1).To(N)
else
if D < B then // ( [ ] )
begin
s := s + SeqGen(C - A, t -> B - t) +
SeqGen(D - C + 1, t -> t + A + B - D) +
SeqGen(B - D, t -> A - t + B - D - 1) + (B + 1).To(N)
end
else // ( [ ) ]
begin
s := s + SeqGen(C - A, t -> B - t) +
SeqGen(D - B, t -> D - t) + SeqGen(B - C + 1, t -> A + t) +
(D + 1).To(N);
end;
s.Println;
end.