Minecraft 1.12 выйдет завтра, так что давайте праздновать!
Напишите код, который принимает неотрицательное целое число N, которое представляет количество элементов чего-либо в Minecraft . Выведите его более удобным для игроков способом, указав количество сундуков, стеков и предметов, эквивалентное N. Используйте формат
XcYsZi
где
X
количество сундуков, которые вы можете заполнить N предметами,Y
количество стеков, которое вы можете заполнить предметами, оставшимися после заполнения сундуков,Z
если количество предметов осталось после заполнения сундуков и стеков.
Обратите внимание, что:
- В стек помещается 64 предмета. (Мы будем игнорировать элементы, которые складываются до 16 или не складываются.)
- 27 стеков помещаются в сундук. (Это одиночные сундуки, а не двойные.)
Так что не имеет смысла, если Y
больше 26 или Z
больше 63.
Предостережение с форматом заключается в том, что если что-то есть ноль, этот термин не печатается.
Так, например, если бы
Y
было нольX
иZ
ненулевое, формат был бы похожXcZi
.Аналогично, если бы
Y
иZ
были нулевые иX
ненулевые, формат был быXc
.Исключением является случай, когда N равно нулю. Тогда
0i
вывод, а не пустая строка.
Можно предположить, что все N элементов одного типа, поэтому все они могут быть наращиваемыми.
Вы не можете вывести список или кортеж из трех чисел. Вы должны указать строку с точной нотацией "csi" в указанном порядке, без пробелов и запятых.
Для справки, вот сундук, полностью заполненный стопками предметов:
Testcases
in -> out
0 -> 0i
1 -> 1i
2 -> 2i
62 -> 62i
63 -> 63i
64 -> 1s
65 -> 1s1i
66 -> 1s2i
127 -> 1s63i
128 -> 2s
129 -> 2s1i
200 -> 3s8i
512 -> 8s
1337 -> 20s57i
1664 -> 26s
1727 -> 26s63i
1728 -> 1c
1729 -> 1c1i
1791 -> 1c63i
1792 -> 1c1s
1793 -> 1c1s1i
4096 -> 2c10s
5183 -> 2c26s63i
5184 -> 3c
5200 -> 3c16i
9999 -> 5c21s15i
385026 -> 222c22s2i
1000000000 -> 578703c19s
Самый короткий код в байтах побеждает.