В ближайшее время все более важную роль будет играть особый формат Unicode (и ISO 10646) под названием UTF-8. Эта «производная» кодировка пользуется для записи символов цепочками байтов различной длины (от одного до шести), которые с несложного алгоритма преобразуются в Unicode- коды, причем более употребительным символам соответствуют более короткие цепочки. Главное достоинство этого формата — совместимость с ASCII не только по значениям кодов, но и по количеству бит на символ, так как для кодирования любого из первых 128 символов в UTF-8 достаточно одного байта (хотя, например, для букв кириллицы нужно уже по два байта).
# Код на ruby 2.2.3p173 def zadanie(s) numbers = [] s.split(" ").each {|t| break if t == "2*109" numbers << t.to_i }
max = numbers[0] * numbers[4] for i in 0..numbers.size - 4 for j in i + 4..numbers.size - 1 p [i,j] m = numbers[i] * numbers[j] max = m if m % 2 == 1 and m > max end end
if max % 2 == 1 return max else return "IMPOSSIBLE" end end
# Примеры применения p zadanie("11 12 2 5 7 6 10 2 8 3 2*109 4")
Многобайтные кодировки: Unicode (UTF-8)
Объяснение:
В ближайшее время все более важную роль будет играть особый формат Unicode (и ISO 10646) под названием UTF-8. Эта «производная» кодировка пользуется для записи символов цепочками байтов различной длины (от одного до шести), которые с несложного алгоритма преобразуются в Unicode- коды, причем более употребительным символам соответствуют более короткие цепочки. Главное достоинство этого формата — совместимость с ASCII не только по значениям кодов, но и по количеству бит на символ, так как для кодирования любого из первых 128 символов в UTF-8 достаточно одного байта (хотя, например, для букв кириллицы нужно уже по два байта).