1) var i,a:Integer; begin a:= 1; while a<>0 do begin Read(a); i+=a; end; WriteLn(i=10); end.
2) Можно через double. Но после 170! уже бесконечность. var n:Integer; var b:double; begin b:=1; Read(n); for var i:= 1 to n do b*=i; WriteLn('factorial '+n+' = '+b); end.
3) Работает как и с числами так и со строками. var arr:array of char; var a:String; var first,last:Integer; begin Read(a); arr:= a.ToCharArray(); for var i:= 0 to arr.Length-1 do begin first:=Pos(arr[i], a); last:=Pos(arr[i], a,first+1); if (first>0) and (last > 0) and (first<>last) then begin first:=99; break; end; end; if first = 99 then WriteLn('Содержит. Это число '+arr[last-1]) else WriteLn('Несодержит.'); end.
begin if ReadInteger('Введите число:').ToString.GroupBy(t->t). Select(t->(t.Key,t.Count)).Any(t->t[1]>1) then Writeln('Число содержит по крайней мере две одинаковые цифры') else Writeln('Введенное число не содержит одинаковых цифр') end.
Примеры Введите число: 12345670 Введенное число не содержит одинаковых цифр
Введите число: 1320624 Число содержит по крайней мере две одинаковые цифры
var i,a:Integer;
begin
a:= 1;
while a<>0 do
begin
Read(a);
i+=a;
end;
WriteLn(i=10);
end.
2) Можно через double. Но после 170! уже бесконечность.
var n:Integer;
var b:double;
begin
b:=1;
Read(n);
for var i:= 1 to n do
b*=i;
WriteLn('factorial '+n+' = '+b);
end.
3) Работает как и с числами так и со строками.
var arr:array of char;
var a:String;
var first,last:Integer;
begin
Read(a);
arr:= a.ToCharArray();
for var i:= 0 to arr.Length-1 do
begin
first:=Pos(arr[i], a);
last:=Pos(arr[i], a,first+1);
if (first>0) and (last > 0) and (first<>last) then
begin
first:=99;
break;
end;
end;
if first = 99 then
WriteLn('Содержит. Это число '+arr[last-1])
else
WriteLn('Несодержит.');
end.