<h3>PascalABC.NET 3.4.2, сборка 1863 от 10.11.2018</h3><h3>Внимание! Если программа не работает, обновите версию!</h3>
function Conv(s: string): string;
begin
var d := s.ToCharArray;
var (i, found) := (d.High, False);
while i >= 1 do
if d[i] > d[i - 1] then
begin
found := True;
break
end
else i -= 1;
if found then
begin
s := s[:i];
var c := d[i - 1];
d := d[i - 1:];
d.Sort;
var j := d.IndexOf(c) + 1;
s += (d[j] + d?[:j] + d?[j + 1:]).JoinIntoString
end
else s := '-';
Result := s
end;
begin
var ms := Arr('1890', '83849', '126631', '146531', '32749972');
foreach var s in ms do
Conv(s).Println
end.
<h2>1908</h2><h2>83894</h2><h2>131266</h2><h2>151346</h2><h2>32772499</h2>
Алгоритм:
1. присвоить значение х, д
2. вычислить 5х-37
3. у= 5х-37 значение поместить в ячейку
4. задать х=х+д
5 перейти к пункту 2
Свойство информации отражающее истинное положение дел это достоверность
Program Repeat;
varX: integer;
begin
repeat
Write ('Значение X= ');
Readln (X);
if X <> 111 then
until X = 111;
Writeln ('Молодец!');
<span>end.</span>
<span>var a,b: integer;
function NOD(x,y: integer): integer;
begin
if x<>0 then NOD:=NOD(y mod x,x) else NOD:=y;
end;
</span><span>begin
readln(a,b);
writeln( 'НОД = ', NOD(a,b) );
end.</span>