В кодировке Unicode каждый символ кодируется 16 битами, что равно 2 байтам.
Исходное предложение: «Ом, Бор, Кюри, Попов, Джоуль, Рентген, Курчатов, Резерфорд – великие физики».
Ученик написал фамилию одного учёного два раза подряд, добавив запятую и пробел.
Размер написанного предложения оказался на 10 байт больше, чем нужного.
Это означает, что добавленные символы (фамилия + запятая + пробел) весят 10 байт.
Вес запятой = 1 байт (в Unicode, если считать, что она кодируется 1 символом).
Вес пробела = 1 байт.
Следовательно, вес написанной дважды фамилии = 10 байт - 1 байт (запятая) - 1 байт (пробел) = 8 байт.
Если одна фамилия весит 8 байт, значит, она состоит из 8 символов (так как каждый символ весит 2 байта).
Теперь найдем фамилию ученого из 8 символов в списке:
Фамилия «Курчатов» состоит из 8 символов, что равно 16 байтам. Это не 8 байт.
Постойте, каждый символ кодируется 16 битами, то есть 2 байтами.
Если вес фамилии = 8 байт, то количество символов в фамилии = 8 байт / 2 байта/символ = 4 символа.
Найдем фамилию из 4 символов:
Фамилия «Кюри» состоит из 4 символов. Ее вес: 4 символа * 2 байта/символ = 8 байт.
Проверим: Ученик написал «Кюри, Кюри». Добавили запятую (1 символ = 2 байта) и пробел (1 символ = 2 байта). Всего добавили: 8 байт (Кюри) + 2 байта (запятая) + 2 байта (пробел) = 12 байт.
Но в условии сказано, что размер увеличился на 10 байт.
Значит, мое предположение о весе запятой и пробела неверно, или же в условии ошибка.
Давайте предположим, что «10 байт» — это общее увеличение. Значит, написанная дважды фамилия + запятая + пробел = 10 байт.
Если считать, что запятая и пробел — это 1 символ каждый (2 байта каждый), то удвоенная фамилия весит 10 - 2 - 2 = 6 байт. Это значит, что одна фамилия весит 3 байта. Количество символов: 3 байта / 2 байта/символ = 1.5 символа. Невозможно.
Может быть, в Unicode запятая и пробел тоже весят 1 байт, как в Windows-1251? Это было бы нелогично.
Вернемся к началу: каждый символ = 16 бит = 2 байта.
Увеличение на 10 байт. Это значит, что добавленные символы весят 10 байт.
Добавили: Фамилия + запятая + пробел.
Если фамилия написана дважды, то это: Фамилия1 + запятая + Фамилия2 + пробел.
Но в условии сказано: «Фамилию одного учёного ученик написал два раза подряд». Это значит, что написали «Фамилия, Фамилия». Тогда добавили: Фамилия (2 раза) + запятая + пробел.
Пусть вес одной фамилии X байт. Тогда удвоенная фамилия весит 2X. Добавили запятую (Y байт) и пробел (Z байт). Общее увеличение: 2X + Y + Z = 10 байт.
В Unicode, как правило, запятая и пробел — это 1 символ. Значит, Y=2 байта, Z=2 байта.
Тогда 2X + 2 + 2 = 10 байт. 2X = 6 байт. X = 3 байта.
Если одна фамилия весит 3 байта, значит, она состоит из 3 байт / 2 байта/символ = 1.5 символа. Опять не получается.
Перечитаем: «Фамилию одного учёного ученик написал два раза подряд, добавив необходимые запятую и пробел.»
Это может означать: «Фамилия, Фамилия».
Тогда добавлены: Фамилия (вес X) + запятая (вес Y) + Фамилия (вес X) + пробел (вес Z).
НО! «написал два раза подряд» — это значит, что одна и та же фамилия была написана дважды. И добавили к этому запятую и пробел. Это значит, что написали «Фамилия, Фамилия». Это нелогично. Скорее всего, написали «Фамилия, Фамилия».
Тогда добавили: одну фамилию (X байт) + запятую (2 байта) + пробел (2 байта). Общее увеличение 10 байт.
X + 2 + 2 = 10 байт. X = 6 байт.
Если одна фамилия весит 6 байт, то количество символов = 6 байт / 2 байта/символ = 3 символа.
Найдем фамилию из 3 символов:
Фамилия «Бор» весит 3 байта. Количество символов: 3 байта / 2 байта/символ = 1.5 символа. Не подходит.
Фамилия «Джоуль» весит 6 байт. Это 3 символа. 3 символа * 2 байта/символ = 6 байт. Это подходит!
Проверим: Если вычеркнуть «Джоуль» (6 байт) и добавили «Джоуль, Джоуль» (6+2+6+2 = 16 байт) — это неверно.
Вернемся к: «Фамилию одного учёного ученик написал два раза подряд, добавив необходимые запятую и пробел.»
Это значит, что написали «Фамилия, Фамилия».
Размер увеличился на 10 байт.
Что было добавлено? Появилась вторая фамилия, запятая и пробел. Оригинальное предложение было «Ом, Бор, Кюри, Попов, Джоуль, Рентген, Курчатов, Резерфорд – великие физики».
Если написали «Джоуль, Джоуль», то добавили: «, Джоуль».
Тогда добавлено: запятая (2 байта) + пробел (2 байта) + фамилия «Джоуль» (6 байт) = 10 байт. Это соответствует условию!
То есть, ученик написал «Джоуль» два раза подряд, но запятую и пробел добавили не между ними, а после оригинальной фамилии. Например, написал «... Джоуль, Джоуль ...». Тогда добавлено «, Джоуль». Размер увеличился на вес запятой (2 байта) + вес пробела (2 байта) + вес фамилии «Джоуль» (6 байт) = 10 байт.
Следовательно, ученик дважды написал фамилию «Джоуль».
Ответ: Джоуль