Треки
/
Pharo
Pharo
/
Вправи
/
Зернята
Зернята

Зернята

Легка

Вступ

Жив колись мудрий слуга, який урятував життя принцу. Король пообіцяв дати йому все, що той зможе забажати. Знаючи, що король любить шахи, слуга попросив зерна пшениці. Одне зерно на першій клітинці шахівниці, а на кожній наступній кількість зерен подвоюється.

Вказівки

Обчисліть кількість зерен пшениці на шахівниці.

Шахівниця має 64 клітинки. На клітинці 1 лежить одне зерно, на клітинці 2 лежать два зерна, на клітинці 3 лежать чотири зерна, і так далі, щоразу кількість подвоюється.

Напишіть код, який обчислює:

  • кількість зерен на заданій клітинці
  • загальну кількість зерен на шахівниці

Примітка

Такі типи задач (де одна відповідь залежить від попередньої) часто називають рекурсією. Існують різні способи писати рекурсивний код; варто пошукати додаткові матеріали, якщо ми з цим ще не знайомі. Pharo добре оптимізований для рекурсії, і це поширений прийом.

Примітка: в оригінальній специфікації задачі grainsCalculator викликають через #square, однак ми перейменували цей метод на #atSquare:. Ця назва більш характерна для Smalltalk і краще описує, що ми запитуємо відповідь «на конкретній клітинці».

Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
Pharo Exercism

Час розпочати Зернята?

Зареєструйтеся на Exercism, щоб вивчати й опановувати Pharo, а також 50 вправ та справжнє наставництво від людей, і все це безкоштовно.