Помогите пожалуйста Pascal Уровень C. Ввести натуральное число и определить, верно ли, что в его записи есть две одинаковые циф
Помогите пожалуйста Pascal Уровень C. Ввести натуральное число и определить, верно ли, что в его записи есть две одинаковые цифры (не обязательно стоящие рядом). Пример: Введите натуральное число: 12342 Да. Пример: Введите натуральное число: 12345 Нет. Проверьте программу,не работает почему-то program nn; var N,a,b,k,s:integer; begin writeln('Введите натуральное число'); readln(N); k:=0; N:=s; while (N>0) do begin a:=N mod 10;
while (N>0) do begin
b:=N mod 100 div 10; if (a=b) then begin k:=k+1; end; N:=N div 10; end; if (k>0) then writeln('да') else N:=s; N:=N-N mod 10; end; if (k>0) then writeln ('да') else writeln('нет'); end.
В программе алгоритм неверный, так дубликаты не найти. Поэтому программа в основном переделана.
var n:integer; a:array[0..9] of boolean; d,i:byte; r:boolean;
begin Writeln('Введите натуральное число'); Readln(n); for i:=0 to 9 do a[i]:=False; r:=False; while n>0 do begin d:=n mod 10; if a[d] then begin r:=True; break end else a[d]:=True; n:=n div 10 end; if r then Writeln('да') else Writeln('нет') end.
program HelloWorld;var i, x, y, z: integer;begin i:=1;while i<>0 do begin readln(i); x:=x+i; if i>0 then y:=y+1; if i<0 z:=z+1 end;writeln(x, ';', y-z); end.