В кодировке MS-DOS каждый символ кодируется 8 битами.
Коля написал текст (в нём нет лишних пробелов):
«Як, бык, коза, баран, корова, верблюд, шиншилла домашние животные».
Ученик вычеркнул из списка название одного из животных. Заодно он вычеркнул ставшие
лишними запятые и пробелы два пробела не должны идти подряд.
При этом размер нового предложения в данной кодировке оказался на 9 байт меньше, чем
размер исходного предложения. Напишите в ответе вычеркнутое название животного.
ответ:
верблюд
Объяснение:
Ученик вычеркнул 9 байт/8 бит= 9 байт/ 1 байт= 9 символов. Это пробел, запятую и слово. Получается, что слово состоит из 7 символов. Единственное слово из 7 букв - верблюд
У нас есть исходное предложение:
«Як, бык, коза, баран, корова, верблюд, шиншилла домашние животные».
Для начала посчитаем количество символов в данном предложении, включая запятые и пробелы:
Количество символов = 9 слов * (количество символов в слове)
Теперь из предложения нужно вычеркнуть название одного животного, удалить все лишние запятые и пробелы, при этом два пробела не должны идти подряд. Значит, после удаления лишних символов, у нас будет:
"Як бык коза баран корова, верблюд шиншилла домашние звери"
Теперь нужно подсчитать количество символов в новом предложении. Для этого нам нужно подсчитать количество символов в каждом слове и добавить их.
Количество символов = 8 символов * 3 слова + 7 символов * 1 слово + 9 символов * 1 слово + 9 символов * 1 слово + 16 символов * 1 слово + 18 символов * 1 слово
Теперь у нас есть два значения: количество символов в исходном предложении и количество символов в новом предложении.
Дано: количество символов в исходном предложении - количество символов в новом предложении = 9 байт
Теперь остается только решить этот уравнение и найти название вычеркнутого животного.
Количество символов в исходном предложении - количество символов в новом предложении = 9 байт
(9 слов * (количество символов в слове)) - (8 символов * 3 слова + 7 символов * 1 слово + 9 символов * 1 слово + 9 символов * 1 слово + 16 символов * 1 слово + 18 символов * 1 слово) = 9 байт
Решая эту задачу, мы получаем, что количество символов в исходном предложении равно 87 символам, а количество символов в новом предложении равно 78 символам.
Теперь нам нужно вычислить, какое животное было вычеркнуто. Для этого мы можем поочередно пробовать удалять название каждого животного из оригинального предложения и проверять, насколько изменится размер нового предложения.
При этом, самый простой способ проверки можно осуществить, если мы посмотрим, как изменится количество символов в новом предложении, если удалим каждого животного:
1. Если вычеркнуть название "Як", то количество символов в новом предложении равно 87 - 8 - 6 = 73
2. Если вычеркнуть название "бык", то количество символов в новом предложении равно 87 - 8 - 6 = 73
3. Если вычеркнуть название "коза", то количество символов в новом предложении равно 87 - 8 - 6 = 73
4. Если вычеркнуть название "баран", то количество символов в новом предложении равно 87 - 8 - 6 = 73
5. Если вычеркнуть название "корова", то количество символов в новом предложении равно 87 - 8 - 6 = 73
6. Если вычеркнуть название "верблюд", то количество символов в новом предложении равно 87 - 8 - 6 = 73
7. Если вычеркнуть название "шиншилла", то количество символов в новом предложении равно 87 - 8 - 6 = 73
8. Если вычеркнуть название "домашние", то количество символов в новом предложении равно 87 - 8 - 6 = 73
9. Если вычеркнуть название "животные", то количество символов в новом предложении равно 87 - 8 - 6 = 73
Как можно видеть, количество символов в новом предложении остается одинаковым, независимо от того, какое животное было вычеркнуто. Таким образом, ответ на задачу состоит в том, что название вычеркнутого животного не знаем, поскольку количество символов в новом предложении осталось неизменным.