Ввести целое число и определить, верно ли, что в его записи есть две одинаковые цифры — Pascal(Паскаль)

Например:
Введите целое число
1234
нет

Введите целое число
1224
да
var
 s:string;
 i,j:integer;
 l:boolean;
begin
 readln(s);
 l:= false;
 for i:= 1 to length(s) do
 for j:= i+1 to length(s) do
 if s[i] = s[j] then begin
   l:= true;
   break;
 end;
 if l then
   writeln('Da')
 else
   writeln('Net');
end.

Вариант 2

uses crt;
var n,m:longint;
    mn:set of byte;
    k,p:byte;
begin
clrscr;
write('Введите целое число n=');
readln(n);
m:=abs(n);//запомним его и сделаем положительным
mn:=[];//пустое множество
p:=0;//повторы
while m>0 do
 begin
  k:=m mod 10;//цифры с конца
  if k in mn then p:=p+1;//если уже была такая, считаем
  mn:=mn+[k];//записываем в множество
  m:=m div 10;//сокращаем число
 end;
if p>=1 then write('В числе ',n,' есть 2 одинаковые цифры')
else write('В числе ',n,' нет 2-х одинаковых цифр');
readln
end.

Leave a Comment

24 + = 27