<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>
В5
В-это 11,значит, В5=11*16^1+5*16^0=176+5=181
Число в нулевой степени равно 1, поэтому 16^0=1
А28
А-это 10, значит,
А5=10*16^2+2*16^1+8*16^0=2600
CD- это 12 и 13 соответственно, значит, CD=12*16^1+13*16^0=192 +13 = 205
var b:integer;
begin
readln(b);
If (b div 1000)mod 2=0 then writeln('1 цифра четная')
else writeln('1 цифра нечетная');
If ((b div 100) mod 10)mod 2=0 then writeln('2 цифра четная')
else writeln('2 цифра нечетная');
If ((b div 10)mod 10)mod 2=0 then writeln('3 цифра четная')else writeln('3 цифра нечетная');
If (b mod 100)mod 2=0 then writeln('4 цифра четная')
else writeln('4 цифра нечетная');
<span>end.</span>
{ Использован код горизонтальной табуляции
09 для выравнивания вывода }
var
a,b,h,x:real;
begin
Write('введите a,b,h: '); Read(a,b,h);
x:=a;
while x<=b do begin
Writeln(x,#09,#09,4*sin(x*x)+cos(x));
x:=x+h
end
end.
Пример
введите a,b,h: -2.15 1.7 0.38
-2.15 -4.53120848610505
-1.77 -0.163118638139122
-1.39 3.92156008975769
-1.01 3.9405021385098
-0.63 2.35427225489945
-0.25 1.21874969308017
0.13 1.05915867588807
0.51 1.90145326606337
0.89 3.47673114723651
1.27 4.29273595805526
1.65 1.54860630059752
Program p1;
var a,b,c,d : integer;
begin
writeln('vvedite a,b,c,d');
readln(a,b,c,d);
if (a*b)>(c*d) then writeln(a*b) else (c*d);
end.