Решите в питоне Костя выбирает, по какой дороге пойти от дома до школы: по первой или второй. Первая Косте гораздо удобнее. Но на обеих дорогах сидит по одному животному. Это может быть либо кот, либо собака, либо голубь (животные могут повторяться).
Костя боится собак, поэтому пойдёт по дороге с собакой, только если у него нет другого выбора. А ещё Костя очень любит котов, и если видит на второй дороге кота, то сразу идёт туда, даже если на первой нет ничего страшного. Между двумя дорогами с одинаковыми животными Костя выберет более короткую — первую.
Даны названия животных с первой и второй дорог. Выведи номер дороги, по которой пойдет Костя: 1 или 2.
Ввод Вывод
голубь
кот 2
голубь
голубь 1
var a, b: array [1..10] of integer; i, sum: integer;
begin
sum := 0;
for i := 1 to 10 do
b[i] := 0;
for i := 1 to 10 do
begin
read(a[i]);
if a[i] < 0 then
begin
sum := sum + 1;
b[i] := i;
end;
end;
writeln('Amount of negative numbers: ', sum);
for i := 1 to 10 do
if b[i] <> 0 then write(b[i], ' ');
end.
2)
var a: array [1..10] of integer; i: integer; flag: boolean;
begin
flag := false;
randomize;
for i := 1 to 10 do
begin
a[i] := random(10);
if a[i] = 5
then
flag := true;
end;
for i := 1 to 10 do
write(a[i], ' ');
if flag
then
writeln('YES')
else
writeln('NO');
end.
3)
var a: array [1..10] of integer; i, ind, odd: integer;
begin
randomize;
ind := 0;
for i := 1 to 10 do
begin
a[i] := random(10);
if a[i] mod 2 <> 0
then
begin
ind := i;
odd := a[i];
end;
end;
for i := 1 to 10 do
write(a[i], ' ');
if ind <> 0
then
writeln(a[ind], ' ', ind)
else
writeln('Array has no odd elements');
end.
4)
var a: array [1..10] of integer; i: integer;
begin
writeln;
randomize;
for i := 1 to 10 do
begin
a[i] := random(20);
write(a[i], ' ');
end;
writeln;
for i := 1 to 10 do
if (a[i] < 15) and(a[i] > 5)
then
write(a[i], ' ');
end.
0000011001000111
Объяснение:
Делим 1607 на 2 до тех пор, пока не сможем (то есть пока делимое число не станет равным единице). Получим результат:
11001000111
Нам дана двухбайтовая ячейка. Переведём из байт в биты.
2 байта = 2 · 8 бит = 16 бит.
Нолик или единица по отдельности - это один бит (условно; на самом деле - это выделяемая под них память). В нашем результате 11 бит (то есть 11 ноликов и единичек в сумме), остальные 5 остались незаполненными - отсюда и заполнение нулями (поскольку они ничего в результате не поменяют - таково устройство памяти и двоичного кода).