Жив колись мудрий слуга, який урятував життя принцу. Король пообіцяв дати йому все, що той зможе забажати. Знаючи, що король любить шахи, слуга попросив зерна пшениці. Одне зерно на першій клітинці шахівниці, а на кожній наступній кількість зерен подвоюється.
Обчисліть кількість зерен пшениці на шахівниці.
Шахівниця має 64 клітинки. На клітинці 1 лежить одне зерно, на клітинці 2 лежать два зерна, на клітинці 3 лежать чотири зерна, і так далі, щоразу кількість подвоюється.
Напишіть код, який обчислює:
Згідно з документацією Vim:
Якщо використовуються 64-бітні числа (див. v:numbersize), беззнакове число обрізається до 0x7fffffffffffffff або 9223372036854775807.
Інакше кажучи, Vim script не може виразити жодне число 2^63 або більше як ціле число.
Деякі з тестів цієї вправи вимагають 64-бітних цілих чисел, а це виходить за межі обмеження на розмір цілих чисел у Vim script. Через це обмеження результати обчислень перевіряються проти рядка тексту (англ. string), який виражає ціле значення, а не як Integer. Чи можемо ми розвʼязати це, оминаючи числа, більші за ті, що мова дозволяє безпосередньо?
Зареєструйтеся на Exercism, щоб вивчати й опановувати Vim script, а також 89 вправ та справжнє наставництво від людей, і все це безкоштовно.