Сначала запишем выражение в виде степеней двойки:
2^16096 - 2^3210 + 2^1024 - 2^7 + 2
Далее последовательно запишем представление числа по действиям:
1) 2^16096 = (в позиции 16096)10000...0
2^3210 = (в позиции 3210)10000...0
При их разности получится:
(16095)111111...111(3210)000...0
2) Прибавляем 2^1024 и получается (16095)111111...111(3210)000...01(1024)00
3) (16095)111111...111(3210)000...01(1023)11(7)0000000
4) (16095)111111...111(3210)000...01(1023)11(7)0000010
Вычисляем кол-о 1: 16095 - 3210 + 1 + 1023 - 7 + 1 + 1 = 13904
смотри картинки
Объяснение:
1) у меня программа начинается с такого положения и изменить его я не могу
2) так программа выглядит после после окончания работы
КОНЕЦ ПРОЦЕДУРЫ
ПРОЦЕДУРА п3
ПОВОРОТ
ПОВОРОТ
ПОВОРОТ
КОНЕЦ ПРОЦЕДУРЫ
Это конец программы - по другому его просто не видно.
п3 - служит для поворота из первоначального положения вниз
с6 - рисует сторону в 6 шагов и делает поворот
с5 - рисует сторону в 5 шагов и делает поворот
и т.д.
Кнопка ОПИСАНИЕ - пишешь имя процедуры.
Внизу появляется:
ПРОЦЕДУРА имя процедуры
КОНЕЦ ПРОЦЕДУРЫ
Пишешь какие действия должна выполнять процедура
В программу вставляешь кнопкой ВЫЗОВ (выбираешь имя процедуры) и в программе появляется
ДЕЛАЙ имя процедуры
var a:array [1..7] of integer;
c, i: integer;
begin
for i:= 1 to 7 do
begin
a[i] := random(100);
if a[i] mod 11 = 0 then c := c + 1;
writeln(c)
end.