Вот тебе в паскале
program ryad_chisel;
var N, t:integer;
begin
read(N);
t:=(N*(N+1))div 2;
if t mod 2 =1 then writeln('IMPOSSIBLE')
else begin
if N mod 2 =0 then begin
t:=N div 4;
repeat
write('+');
t:=t-1;
until t=0;
t:=N div 2;
repeat
write('-');
t:=t-1;
until t=0;
t:=N div 4;
repeat
write('+');
t:=t-1;
until t=0;
end
else begin
t:=((N+1) div 4)-1;
repeat
write('+');
t:=t-1;
until t=0;
t:=((N-1) div 2)+1;
repeat
write('-');
t:=t-1;
until t=0;
t:=(N+1) div 4;
repeat
write('+');
t:=t-1;
until t=0;
end
end
end.
1) 600.
2) 945.
3) 1350.
Объяснение:
1) Дано:
N = 64 симв.
K = 100 симв.
Найти: I.
Решение: N = 2^i => i = 6 бит
I = K*i = 100 симв. * 6 бит = 600 бит
ответ: I = 600 бит
2) Дано:
N = 128 симв.
K = 135 симв.
Найти: I.
Решение: N = 2^i => i = 7 бит
I = K*i = 135 симв * 7 бит = 945 бит
ответ: I = 945 бит.
3) Дано:
N = 512 симв.
K = 150 симв.
Найти: I.
Решение: N = 2^i => i = 9 бит
I = K*i = 150 симв * 9 бит = 1350 бит
ответ: I = 1350 бит.