Вот тебе в паскале
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) 6 бит
2)По формуле N=2^i найдем, сколько было круглых фигурок - 2^2 = 4; Всего фигурок было 15+4=19. ответ: 19
3) я не знаю
4)Обозначим количество красных кубиков через x, тогда желтых будет 2x, а зеленых (2x + 6). Всего кубиков (5x + 6). Раз желтый кубик дает 2 бита, по формуле Шеннона желтые кубики составляют долю 2 в (-2) степени, т. е. 1/4 от всех кубиков. Значит всего кубиков 8x. Приравниваем 5x + 6 = 8x. Отсюда x = 2, т. е. зеленых кубиков 2x + 6 = 10.
Итак, всего 10 зеленых кубиков.