С подробным объяснением! Поставил максимум (100) баллов! В одной из кодировок КОИ-8...

+613 голосов
2.3m просмотров

С подробным объяснением! Поставил максимум (100) баллов! В одной из кодировок КОИ-8 каждый символ кодируется одним байтом. Дмитрий написал текст (в нем нет лишних пробелов, символы переноса слов не учитываются): Тороид, шар, цилиндр, тетраэдр, конус, додекаэдр – геометрические тела. Ученик вычеркнул из списка название одного из геометрических тел. Заодно он вычеркнул ставшие лишними запятые и пробелы – два пробела не должны идти подряд. После этого, он преобразовал текст в кодировку Unicode, где каждый символ кодируется 16 битами. При этом размер нового предложения, в новой кодировке, оказался на 448 бит больше, чем размер исходного предложения. Напишите в ответе вычеркнутое геометрическое тело (большими буквами).


Информатика (40 баллов) | 2.3m просмотров
+155

Это абсурд! 448/2=224-2=222. Слово должно состоять из 222 символов. Проверо на ошибки

Дан 1 ответ
+175 голосов

Ответ:

ТОРОИД

Объяснение:

Нам нужно узнать вычеркнутое геометрическое тело, поэтому, для начала, запишем количество символом каждого тела, а также количество символов всего предложения:

  • 'Тороид' --- 6 символов.
  • 'шар' --- 3 символа.
  • 'цилиндр' --- 7 символов.
  • 'тетраэдр' --- 8 символов.
  • 'конус' --- 5 символов.
  • 'додекаэдр' --- 9 символов.
  • [все предложение] --- 72 символа.

Итак, ученик вычеркнул какое-то тело и заодно, ставшие лишними запятые и пробелы. Запятая + пробел --- 2 символа.

Изначально каждый символ весит 1 байт. Так как в нашем предложении мы насчитали 72 символа, то оно будет весить соответственно 72 байта.

Но потом из него вычеркнули X символов, а кодировку преобразовали в 16 битную, то есть теперь один символ весит не 1 байт, а 2 байта - то есть в 2 раза больше. Попробуем посмотреть, сколько весит теперь наша строка: (72 - X) * 2 байта.

В условии говорится, что она оказалась на 448 бит больше, чем исходная. Переведём 448 бит в байты: 448 бит / 8 = 56 байт. Получается:

  • (72 - X) * 2 байта - 72 байта = 56 байт.
  • (72 - X) * 2 байта = (56 + 72) байт = 128 байт.
  • 72 - X = (128 байт / 2 байта)  = 64 (символа).
  • 72 = (64 + X).
  • (72 - 64) = X = 8.

Итак, мы нашли X - вычеркнутое количество символов - (8). 2 символа ушли на пробел с запятой, поэтому слово будет состоять из 8 - 2 = 6 символов. Возвратившись в начало, где мы писали количество символов для каждого слова, мы видим, что слово, состоящее из 6 символов - это 'Тороид'. В ответ пишем ТОРОИД.

________________________________________

Фухх... Подробнее некуда..) Отметьте как "лучший", пожалуйста (там корона под ответом должна появится, возможно не сразу), если всё устраивает. Если нет - пишите, поменяю.

(3.7k баллов)
+44

Беда в том, что символов в строке 71, а не 72. Поэтому не получалось решить. Но за решение в 72 символа спасибо! В ответе тоже написал ТОРОИД :)

+130

Надо было в условии в кавычки строку выделять, т. к. непонятно к чему относится точка.

+160

А, не это я всё-таки неправильно посчитал.. сейчас поменяю (

+115

Уже поменять не могу :(
Там получается точка не в счёт, выходит символов 70, всё тоже самое, только в ответе КОНУС.

+76

Проехали...