Var A:array[1..10] of integer;
i: integer;
begin
randomize;
for i:=1 to 10 do begin
A[i]:=(random(101)-50);
writeln (A[i]);
end;
<span>end.
</span>
На самом деле эта задача, вроде непонятная с виду, достаточно проста.
Сначала сделаем замену.
Два в степени n (где n больше или равно нулю) в двоичной системе счисления изображается единицей, за которой следуют n нулей. 15 в двоичной системе отображается числом 1111.
Попробуем вычислить величину
Из числа, которое изображается единицей с 2017 нулями, вычитаем 1111.
Попробуем рассуждать. Если бы у нас была единица, например, с пятью нулями, то мы бы получили 10000-1111=10001, т.е. две единицы и три нуля. Для единицы с шестью нулями получится три единицы и три нуля. Для единицы с семью нулями - четыре единицы и три нуля. Рассуждая аналогично, для единицы с 2017 нулями мы получим 2014 единиц и три нуля.
Осталось прибавить
. Это единица с 4040 нулями, поэтому в результате число единиц увеличится до 2015.
Ответ: 2015
50 Кбайт=51200 Байт = 409600бит
409600÷16÷40=640 бит на 1 строку
640 ÷ 16=40 символов
Ответ: на одной строке 40 символов.
1 яхта заедит а2 в то время уедет потом 1 вийдет пойедет куда надо
<h3>PascalABC.NET 3.4.2, сборка 1887 от 30.11.2018</h3><h3>Внимание! Если программа не работает, обновите версию!</h3>
begin
var a := ArrRandom(ReadInteger('n='), -50, 50);
a.Println;
var s := 0;
for var i := 0 to a.High do
if a[i].IsOdd then
begin
Print(i + 1);
s += a[i]
end;
Println;
Println('Сумма нечетных значений равна', s)
end.
<h2>Пример</h2>
n= 17
-40 7 39 -29 -3 11 21 -49 12 33 -30 1 -48 36 -12 44 -17
2 3 4 5 6 7 8 10 12 17
Сумма нечетных значений равна 14