есть вопросы пиши. если чего то не видно.
Порядок 20172017 в 2сс = log(20172017) / log(2) = 24.265852010453507 ~= 25
чтоб перевернуть число надо отнять колво единиц равных его порядку
20172017 - (2^25 - 1) = 13382414
Можно конечно заниматься переводами в двоичную
20172017 = "1001100111100110011110001"
"0110011000011001100001110" = 13382414
Var i: integer;
<span> s: real;
</span><span>begin
</span><span> i:=0; s:=1;
</span><span> repeat
</span><span> i:=i+1;
</span><span> s:=s*1.03;
</span><span> until s>1.5;
</span><span> writeln('число лет = ',i);
</span><span>end.
</span><span>
</span>
Function circle_func(x: real): real;
begin
circle_func := sqrt(4 - sqr(x + 8)) - 2;
end;
function line_func(x: real): real;
begin
line_func := 0.5*x + 1;
end;
function quadratic_func(x: real): real;
begin
quadratic_func := sqr(x - 6);
end;
var
x, y: real;
begin
writeln('Введите аргумент: ');
readln(x);
if ((x >= -10) and (x < -6)) then y := circle_func(x);
if ((x >= -6) and (x < 2)) then y := line_func(x);
if ((x >= 2) and (x < 6)) then y := 0;
if ((x >= 6)) then y := quadratic_func(x);
writeln(y:5:3);
end.