30 минут искал поиском ниче не нашел. Прогу надо сделать любым способом(через строки или иным другим) мне мысли чето ни какой ни лезет, длина числа может быть различна. Кому не трудно накидайте хотябу саму основу кода :0
var
digits: array[0 .. 9] of integer;
n, i: integer;
begin
readln(n);
while n > 0 do begin
inc(digits[n mod 10]);
n := n div 10;
end;
{ и проверяй, есть ли хотя бы в одном элементе digits значение > 1 }
end.
Ну через строку к примеру можно так...
ну, если через строку, то можно и так:
var chislo,i: integer;
stroka: string;
povt: boolean;
begin
writeln('chislo');
readln(chislo);
str(chislo,stroka);
i:=1;
povt:=false;
while not(povt) and (i<length(stroka)) do
begin
povt:=boolean(pos(stroka[i],copy(stroka,i+1,length(stroka)-i)));
inc(i);
end;
writeln(povt);
readln;
end.
Через строку можно в принципе чуть покороче, смысл конечно не изменится:
i := 1;
while (i <= Length(s)) and (Pos(s[i], Copy(s, i + 1, 255)) = 0) do inc(i);
writeln(i > Length(s));