Агриппа 23 октября 2019 в 09:47

На Pascal напишите пожалуйста.

{1}

//PascalABC.Net 3.1 сборка 1200

begin
    var n := Abs(ReadInteger());
    var ns := new Listlt;integergt;();
    while n gt; 0 do
    begin
        ns.Add(n mod 10);
        n := n div 10;
    end;
    ns.Sort();
    writeln(ns.Pairwise((x, y)-gt; x = y).Any(z -gt; z = true) YES : NO);
end.

{2}

//PascalABC.Net 3.1 сборка 1200

var
    a, b, c: integer;

begin
    readln(a, b, c);
    a := b - a;
    b := c - b;
    writeln(max(a, b) mod min(a, b));
end.

{3}
//PascalABC.Net 3.1 сборка 1200

function Shift(number: integer): integer;
begin
    number := abs(number);
    var s := number.ToString();
    s := s.Substring(1) + s.Substring(0, 1);
    if s.Substring(0, 1) = 0 then {костыль, так как число с ведущим нулем не будет самым большим}
        s := s.Substring(1) + s.Substring(0, 1);
    Shift := StrToInt(s);
end;

begin
    var a := ReadInteger();
    var max := a;
    for var i := 1 to a.ToString().Length do
    begin
        a := Shift(a);
        if max lt; a then max := a;
        writeln(a);
    end;
    writeln(max = , max);
end.

Для комментирования необходимо зарегистрироваться на сайте