slazurnaya
?>

Составьте программу которая формирует массив из 16 целых чисел от -20 до 20 и определяет есть ли в этом массиве хотя бы одно число кратное 3

Информатика

Ответы

Olga Arutyunyan

from random import randint

flag=False

for i in range(16):

x=randint(-20,20)

if x%3==0:

 flag=True

print(x)

print(flag)


#python 3.6

Aleksei
1 1 1 1 1 1 1 = 1*64 + 1*32 + 1*16 + 1*8 + 1*4 + 1*2 + 1*1 = 80 + 47 = 127(начиная с конца пишу над цифрами 0 1 2 3 4 5 6, это будут степени двойки, которые умножаются на эти самые единицы и складываются)

1 0 1 0 1 0 1 0 = 1*128 + 0*64 + 1*32 + 0*16 + 1*8 + 0*4 + 1*2 + 0*1 = 128+32+8+2=130+40 = 170 (не обращайте внимания на корявый подсчет, мне так удобнее)

10101010 / 2 = 5050505 (в остатке 0)
5050505 / 2 = 2525252 (в остатке 1)
2525252 / 2 = 1262626 (в остатке 0)
1262626 / 2 = 631313 (в остатке 0)
631313/ 2 = 315656 (в остатке 1)
315656 / 2 = 157828(в остатке 0)
157828 / 2 = 78914 (в остатке 0)
78914 / 2 = 39457 (в остатке 0)
39457 / 2 = 19728 (в остатке 1)
19728 / 2 = 9864 (в остатке 0)
9864 / 2 = 4932 ( в остатке 0)
4932 / 2 = 2466 ( в остатке 0)
2466 / 2 = 1233 (в остатке 0)
1233 / 2 = 616 (в остатке 1)
616 / 2 = 308 ( в остатке 0)
308 / 2 = 154 (в остатке 0)
154 / 2 = 77 (в остатке 0)
77 / 2 = 38 (в остатке 1)
38 / 2 = 19 (в остатке 0)
19 / 2 = 9 (в остатке 1)
9 / 2 = 4(в остатке 1)
4 / 2 = 2(в остатке 0)
2 / 2 = 1(в остатке 0)
И снизу вверх записываем число

100 110 100 010 000 100 010 010

Проверял в онлайн-калькуляторе
Все так.
Popova838
Во второй строчке видим операторы 'if' и 'then', которые переводятся с английского как 'если' и 'тогда' соответственно. Т. е. если, как бы, перевести вторую строчку на русский язык, то получим следующее:
"если a < 5 тогда"
Таким находящаяся после then функция выполняется только в том случае, если выражение между if и then верно.

Разберем фрагмент кода:
a := 10;
if a < 5 then
a := 5;
Понятно, что на первой строчке переменная 'a' приравнивается к 10. Затем на второй строчке идет условие a < 5. Подставляем 'a': 10<5 — неравенство не верно, поэтому 'a := 5; ' не будет выполнено в этой программе, и 'a' не изменилось, и по-прежнему равно 10.

Рассмотрим еще один фрагмент
a := 15;
if a > 10 then
a := 10;

В первой строке 'a' приравнивается к 15. Затем идет условие a>10, 15>10 — верно, поэтому выполняем следующую строку и приравниваем 'a' к 10. В итоге 'a' становится равным 10

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

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

Составьте программу которая формирует массив из 16 целых чисел от -20 до 20 и определяет есть ли в этом массиве хотя бы одно число кратное 3
Ваше имя (никнейм)*
Email*
Комментарий*

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

Guskov
almihanika435
Yelizaveta1848
tiv67
ank9809
alina-bas
FinKozhevnikov28
myrisik2490
goryavinan
ilyushin-e
Rizhov Alekyan325
Voronov434
Евгений1286
Sergei1198
o-pavlova-8635