cheremetdiana
?>

Решите ! ! дана последовательность целых положительных чисел. найти произведение четных чисел. это одна из строчек, которая должна быть в программе for i: =1 to n do if a[i] mod 2=0 then p: =p*a[i];

Информатика

Ответы

nunabat457
PascalABC.NET 3.4.2, сборка 1884 от 24.11.2018Внимание! Если программа не работает, обновите версию!

begin

 var n := ReadInteger;

 var a := arrRandom(n, 1, 100);

 a.Println;

 var p := BigInteger(1);

 for var i := 0 to n - 1 do

   if a[i] mod 2 = 0 then p := p * a[i];

 p.Println

end.

Пример90

67 13 96 10 94 24 16 2 43 94 60 60 56 88 28 27 75 32 90 18 70 32 6 23 81 57 38 73 25 6 20 52 56 33 38 79 20 81 67 49 33 29 43 36 74 46 13 14 30 93 72 8 10 99 89 35 8 73 30 37 86 43 78 38 75 9 4 24 50 49 8 95 65 42 85 42 90 71 50 35 45 25 44 33 34 13 43 57 45 4

752729749734296001571550469794689018400554807071967543296000000000000000
pak1998378
Однобайтовый формат это восьмиразрядная сетка. Ну, потому что 1 байт - 8 бит. А 1 бит - 1 разряд
Переведем число 86 в двоичную систему счисления и получим:
01010110
Теперь число -68:
01000100

А сейчас самое интересное - нужно прицепить минус. Сразу в дополнительном коде мы не представим число. Сначала нужно перевести его в обратный. Для этого нужно просто заменить все НУЛИ на ЕДИНИЦЫ, а ЕДИНИЦЫ на НУЛИ:
01000100
=
10111011

Вот теперь это число можно представить в дополнительном коде. Нужно всего лишь прибавить в конце единицу (прибавить именно операцией сложения, а не просто дописать):

10111011
             +
             1

10111100

ответ:

86: 01010110
-68: 10111100
annanechaeva567
Program sneg;
uses graphABC;
beginsetpenwidth(3);
setwindowsize(400,500);
ellipse(120,350,280,480);
circle(200,300,60);
circle(200,210,40);
line(170,90,230,90);
line(160,180,240,180);
line(170,90,160,180);
line(230,90,240,180);
floodfill(200,173,clblack);
floodfill(200,123,clblack);
setbrushcolor(clblack);
circle(190,200,5);
circle(210,200,5);
line(200,210,220,220);
line(200,220,220,220);
line(200,210,200,220);
floodfill(204,214,clblack);
setpenwidth(5);
arc(200,230,10,180,0);
line(70,320,170,250);
line(230,250,330,300);
line(300,450,350,200);
line(350,200,320,140);
line(350,200,340,140);
line(350,200,360,140);
line(350,200,380,140);
line(350,200,400,140);
end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Решите ! ! дана последовательность целых положительных чисел. найти произведение четных чисел. это одна из строчек, которая должна быть в программе for i: =1 to n do if a[i] mod 2=0 then p: =p*a[i];
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

mkrtchyananaida6995
Евгения-Валерий
владимировнаКлютко
Shitikov-M.A.1307
gubernatorov00
annazhurawlewa
artem032100
Irina Svetlana
reinish23
akuznecov8989
novocherkutino7
dilovarnazarov1986
varvara82193
pereverzev
ГусенковФролова1121