<em>// PascalABC.NET 3.3, сборка 1600 от 23.12.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var b:=ReadArrReal(8);
Writeln('Введен массив'); b.Println
end.
<u>Пример</u>
-3.2 0 12 -7 0.003 12.43 3.141593 11
Введен массив
-3.2 0 12 -7 0.003 12.43 3.141593 11
//PascalABC.NET 3.3,сборка 1611 от 06.01.2018
//Внимание! Если программа не работает, обновите версию!
begin
var mas:=MatrRandom(5,5,-99,99); mas.Println;
var b:=mas.ElementsByCol.Where(t->(t>5) and (t mod 3 =0));
var c:=b.Aggregate(biginteger(1),(x,y)->x*y);
Writeln('Произведение =',c)
end.
Как в школе учат :
const n=5; m=5;
var
a,b,c,i,j:integer;
mas:Array [1..n,1..m] of integer;
begin
randomize;
for i:=1 to n do
for j:=1 to m do
mas[i,j]:=random(100);
c:=1;
for i:=1 to n do
for j:=1 to m do
if (mas[i,j]>5) and (mas[i,j] mod 3 =0 ) then
c:=c*mas[i,j];
Writeln('Произведение =',c);
end.
Поскольку 7 задание видно не полностью, буду решать задание 6.
Нужно получить из числа 7 число 57 операциями +1 и *2.
Пойдем от обратного - получим из числа 57 число 7 операциями -1 и /2.
57 нацело не делится на 2, поэтому единственная возможная операция - это -1.
57 - 1 = 56
56/2 = 28
28/2 = 14
14/2 = 7
Вернемся к исходным обозначениям.
Чтобы из 7 получить 57 нужно:
7 умножить на 2 = 14
14 умножить на 2 = 28
28 умножить на 2 = 56
К 56 прибавить 1 = 57.
Ответ: 2221
Всего 10 цифр(включая нуль)
По формуле Неймана
10<=2^i
i=4 бита