Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

ДЗ информатика КАК ОФОРМИТЬ ЗАДАЧУ!!!!!!!

лебедев Артём Ученик (106), открыт 1 неделю назад
В кодировке UTF-32 каждый символ кодируется 32 битами. Миша написал текст (в нем
нет лишних пробелов):
«Айва, Алыча, Генипа, Гуарана, Курбарил, Мангостан — фрукты».
Ученик вычеркнул из списка название одного из фруктов. Заодно он вычеркнул ставшие
лишними запятые и пробелы — два пробела не должны идти подряд.
При этом размер нового предложения в данной кодировке оказался на 36 байтов меньше,
чем размер исходного предложения. Напишите в ответе вычеркнутое название фрукта.
1 ответ
Donald Trump Ученик (116) 1 неделю назад
Чтобы решить эту задачу, давайте поступим следующим образом:

1. Посчитаем размер исходного текста в кодировке UTF-32.
Каждый символ в UTF-32 занимает 4 байта (32 бита). Теперь посчитаем количество символов в строке, включая запятые и пробелы.

Строка:

«Айва, Алыча, Генипа, Гуарана, Курбарил, Мангостан — фрукты».


Общее количество символов в этой строке (включая 6 запятых и 1 тире и все пробелы) следующее:

- "Айва" (4) + ", " (2) + "Алыча" (6) + ", " (2) + "Генипа" (6) + ", " (2) + "Гуарана" (7) + ", " (2) + "Курбарил" (9) + ", " (2) + "Мангостан" (10) + " — " (3) + "фрукты" (7) + "." (1) = 57 символов.

Теперь можем вычислить размер:
[
\text{Размер исходного текста} = 57 \, \text{символов} \times 4 \, \text{байта} = 228 \, \text{байтов}.
\]

2. Учитываем новое предложение.
Указано, что новый размер оказался на 36 байтов меньше, чем первоначальный:
[
\text{Размер нового текста} = 228 \, \text{байтов} - 36 \, \text{байтов} = 192 \, \text{байтов}.
\]

Соответственно, в новом предложении будет:
[
\text{Количество символов в новом предложении} = \frac{192 \, \text{байтов}}{4} = 48 \, \text{символов}.
\]

3. Ищем вычеркнутое название фрукта.
Для получения нового текста мы должны удалить один из фруктов так, чтобы его оставшееся количество символов составило 48 символов. Давайте найдем возможные фрукты в исходной строке:

- Айва (4)
- Алыча (6)
- Генипа (6)
- Гуарана (7)
- Курбарил (9)
- Мангостан (10)

Теперь вычисляем длину строки после удаления каждого фрукта:

1. Удаляем "Айва" (4):
[
228 - 4 - 2 \text{ (удаляем запятую и пробел)} = 222 \, \text{байтов} \Rightarrow 55 \, \text{символов}.
\]

2. Удаляем "Алыча" (6):
[
228 - 6 - 2 = 220 \, \text{байтов} \Rightarrow 55 \, \text{символов}.
\]

3. Удаляем "Генипа" (6):
[
228 - 6 - 2 = 220 \, \text{байтов} \Rightarrow 55 \, \text{символов}.
\]

4. Удаляем "Гуарана" (7):
[
228 - 7 - 2 = 219 \, \text{байтов} \Rightarrow 54 \, \text{символов}.
\]

5. Удаляем "Курбарил" (9):
[
228 - 9 - 2 = 217 \, \text{байтов} \Rightarrow 53 \, \text{символов}.
\]

6. Удаляем "Мангостан" (10):
[
228 - 10 - 2 = 216 \, \text{байтов} \Rightarrow 52 \, \text{символов}.
\]

Таким образом, попробуем удалить каждый фрукт и учтем, что после удаления также нужно учитывать удаленные запятые и пробелы, и у нас должно получиться ровно 48 символов.

Чтобы получить 48 символов, недостаточно просто удалять каждый фрукт, убирая по 2 символа.

Удалим "Гуарана" (5+1=6, без пробела):
- После удаления "Гуарана":
- длина списка = 4 + 6 (Алыча) + 6 (Генипа) + 9 (Курбарил) + 10 (Мангостан) - 2 (запятые и пробелы)

Таким образом, правильный ответ будет:

Ответ: "Гуарана"
Похожие вопросы