Юлия Соколовская1568
?>

Запиши число 13442 в развёрнутом виде, начиная со старшего разряда.

Информатика

Ответы

Nikolaevich1534
10000+3000+400+40+2=13442
abakas235

100000! содержит "всего" 456574 цифр, так что по крайней мере имеет смысл попытаться начать решать задачу.

Вот наивный алгоритм, который вычисляет факториал по определению (n! = 1 * 2 * 3 * ... * n):

Код (Python 3):

prod = 1

for i in range(1, 100000 + 1):

   prod *= i

Количество нулей в конце в числе prod можно найти, например, так (результат находится в переменной count):

Код (Python 3):

count = 0

while prod % 10 == 0:

   count += 1

   prod //= 10

Наконец, проверим, сколько времени считался результат. Импортируем из модуля time функцию perf_counter, запустим её в начале программы и в конце. Разность результатов - время работы программы в секундах.

Итого получаем такую программу:

Код (Python 3):

from time import perf_counter

start = perf_counter()

prod = 1

for i in range(1, 100000 + 1):

   prod *= i

print(prod)

count = 0

while prod % 10 == 0:

   count += 1

   prod //= 10

print(count)

end = perf_counter()

print(end - start)

Вывод полностью приводить не буду, скажу только, что вычисление на моём компьютере заняло меньше 15 секунд.

galereyaas1568

5

Объяснение:

Маска в двоичном представлении - это 32 бита, первые несколько бит равны 1, остальные 0. Адрес сети из адреса узла получается побитовым И, то есть IP адрес переводится в двоичную форму, и вычисляется побитовое И с соответствующим битом маски.

Переводим IP узла и адрес сети в двоичную форму (можно сообразить, что достаточно перевести только второй справа байт)

159.152.66.19 = ... . ... . 01000010 . ...

159.152.64.0 = ... . ... . 01000000 . ...

Побитовое И работает так: 1 И 1 = 1, все остальные комбинации 0.

01 в начале должно сохраниться, поэтому второй страва байт маски  начинается на 11.

10 в конце должно превратиться в 00, поэтому второй справа байт маски оканчивается на 00.

На оставшихся местах 0 превратился в 0, так что в маске может быть как 0, так и 1.

Вот все возможные варианты маски:

(16 единиц) 11000000 (8 нулей)

(16 единиц) 11100000 (8 нулей)

(16 единиц) 11110000 (8 нулей)

(16 единиц) 11111000 (8 нулей)

(16 единиц) 11111100 (8 нулей)

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

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

Запиши число 13442 в развёрнутом виде, начиная со старшего разряда.
Ваше имя (никнейм)*
Email*
Комментарий*

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

rodin4010
verkop9
Барскова1943
waspmoto6188
svo1961
koxhulya61
chernova1exei862
e9rebrova
elena-novikova-1992
nadezhdasvirina
Глазкова633
sergei-pletenev
tashovairina
kol-nat26
sanyaborisov910067