import random chuslo = [random.randint(0,500) for x in range(1000)] five = [] for i in chuslo: if i %5==0: five.append(i) five.sort() five.reverse() print(five)
Эти задачи в сути своей примитивны и одинаковы. Надо только напрочь выкинуть из головы формулы, которые многих отпугивают, и включить мозг, чтобы немножко порассуждать.
1. Нам нужно найти информационный объём текста в ... а пока неважно в чем! Объем всего текста. Информационным объемом в этом предмете (так принято) на самом деле называют не объем, как в геометрии, а количество. Некое количество места, которое займет эта информация, если ее попытаться хранить. Чтобы узнать, сколько места займет некая информация, достаточно знать, сколько места займет некая частичка этой информации и это значение умножить на количество таких частичек. Как с коробкой конфет. Если одна конфета имеет объем 3 см³, а конфет в коробке 20, то все конфеты займут 3×20 = 60 см³. У нас вместо конфет - символы алфавит, а вместо коробки - составленный из них текст.
В строке 64 символа, а строк на странице 32. Значит, страница содержит 64×32 = 2048 символов. Одна страница. Но текст занимает не одну страницу, а восемь.Следовательно, всего в тексте будет 2048×8 = 16 384 символа. Что мы сейчас нашли? А мы нашли информационный объем текста! Только в символах. Пришло время посмотреть, а в чем надо его найти, чтобы дать ответ на задачу.
2. Информационный объем от нас хотят в килобайтах. Не страшно, сейчас разберемся. В информатике измеряют объем информации в специальных единицах - битах и байтах. 1 бит - это мельчайшая единица информации. Как атом в химии или физике. Есть единицы покрупнее. 8 бит образуют 1 байт. Еще есть килобайт, т.е. единица, к которой этих байт вроде бы "кило", т.е. привычная 1000. Ан нет! У компьютеров все не как у людей, они в двоичной системе работают, а 1000 - это число, которое не кратно степени двойки и поэтому "плохое". А какое кратное (т.е. "хорошее") и похожее на 1000? Два в десятой степени, т.е. 1024. Это и есть "кило" в информатике. Итак, 1 Кбайт = 1024 байта. Вот в этих килобайтах нам и нужен объем.
Как перейти от количества символов к этим самым килобайтам? Довольно просто. Определим, сколько килобайт (байт, бит - как получится) занимает один символ и умножим на количество символов. Нам известно, что в алфавите 32 символа, т.е. каждый символ кодируется одной из 32 возможных комбинаций. И вот тут самый трудный момент в этой задаче. Чтобы закодировать 32 комбинации, достаточно 5-разрядного двоичного кода. Т.е. будут комбинации 00000, 00001, 00010, ... 11111. Как узнали? Ну....вспомнили, что 32 = 2⁵, показатель степени у двойки и есть искомое значение. ВСЕ! 5 двоичных разрядов - это 5 бит. Это и есть информационный вес одного символа. А их в тексте 16384. Умножаем... 16384×5 = 81920 бит.
Осталось в килобайты перевести, а соотношения мы выше написали. 81920 бит = 81920/8 = 10240 байт = 10240/1024 = 10 Кбайт.
И последнее. Чтобы подчеркнуть, что в килобайте 1024 байта, а не 1000 и не путать с единицами системы Си, в килобайтах букву "К" всегда пишут большой (заглавной).
chuslo = [random.randint(0,500) for x in range(1000)]
five = []
for i in chuslo:
if i %5==0:
five.append(i)
five.sort()
five.reverse()
print(five)
[500, 500, 500, 495, 495, 495, 490, 485, 485, 480, 475, 470, 470, 470, 470, 465, 465, 460, 460, 460, 460, 455, 455, 455, 450, 450, 450, 450, 445, 440, 440, 435, 430, 430, 425, 425, 425, 425, 420, 420, 420, 420, 420, 415, 415, 405, 405, 395, 395, 395, 390, 385, 385, 380, 380, 375, 370, 365, 365, 360, 360, 360, 360, 355, 355, 355, 350, 350, 350, 345, 340, 335, 330, 330, 330, 330, 325, 325, 325, 320, 320, 315, 315, 315, 310, 310, 310, 310, 305, 305, 295, 295, 290, 280, 280, 280, 275, 275, 275, 275, 270, 260, 260, 255, 245, 240, 235, 230, 230, 225, 220, 220, 215, 215, 210, 210, 210, 205, 205, 205, 205, 205, 200, 200, 195, 195, 195, 190, 180, 175, 175, 175, 175, 170, 170, 160, 160, 160, 155, 155, 150, 145, 145, 140, 135, 135, 130, 130, 125, 125, 120, 120, 120, 110, 105, 100, 100, 100, 100, 95, 95, 90, 90, 85, 85, 80, 80, 80, 75, 70, 70, 65, 65, 65, 60, 45, 45, 45, 35, 30, 30, 20, 15, 10, 10, 10, 10, 0]