1)
так как в предложении 37 символов
37*2(так как каждый символ 2 байта) = 74 байта
байты переводим в биты получаем 74 * 8 = 592 бита
2)
20*32*16 = 10240 (количество символов в статье)
каждый символ кодируется 16-ю битами,
10240 * 16 = 163840 бит.
можно перевести в килобайты.
163840 бит/8 = 20480 байт
20480/1024 = 20 кб.
ответ: 20 килобайт.
3)
160 / 8 = 20. Итого 20 символов, т.к. в 1 байте - 8 бит.
4)
0,5*1024*8/256=16 бит
5)
Общий объём статьи равен x · 64 · 48 · 16 бит = 48 Кбайт.
Следовательно, количество страниц в статье равняется:
x = (48 · 1024 · 8)/(64 · 48 · 16) = 8.
6)
80 * 25 = 2000 символов поместится на экране монитора.
Т.к в кодировке Unicode каждый символ кодируется 16 битами, то
2000 * 16 = 32 000 бит = 32 байта.
ответ: объем текста занимающего весь экран монитора в кодировке Unicode примерно 32 байта.
7)
40 * 32 * 4 = 5120 символов в сообщении.
5 Кбайт = 5120 байт.
5120 / 5120 = 1 байт, значит, на кодирование 1 символа отводится 8 бит.
Получается, в алфавите 2^8 = 256 символов.
def shortest_chains(n):
def next_chains(chain):
new_elems = set()
for i in range(len(chain)):
for j in range(i, len(chain)):
new_elem = chain[i] + chain[j]
if new_elem > chain[-1] and new_elem not in new_elems:
new_elems.add(new_elem)
yield chain + [new_elem]
current_stage = None
next_stage = [[1]]
answer = []
while len(answer) == 0:
current_stage = next_stage
next_stage = []
for chain in current_stage:
next_stage.extend(next_chains(chain))
answer = [chain[1:] for chain in next_stage if chain[-1] == n]
return answer
def print_solution(n):
answer = shortest_chains(n)
print("Для {} есть {} решений(-я, -е):".format(n, len(answer)))
for i in range(len(answer)):
print("{}. {}".format(i + 1, " ".join(map(str, answer[i]
print()
Запустив, можно получить все 5 возможных решений для числа 7, по 4 решения для 15 и 23 и 87 решений для 63.