Зерна на шахматной доске на Python

Зерна на шахматной доске – задача состоит в том, что необходимо найти сколько будет зёрен на шахматной доске, если класть на каждую следующую клетку доски вдвое больше зёрен, чем на предыдущую, начиная с одного.

Итак, решение очень простое: на доске всего 64 клетки, так как размер доски 8 на 8. Нам надо написать программу так, что бы она выполнила складывание двух чисел, т.е. количество зерен первой клетки, плюс количество зерен второй, первая и вторая клетки – условно! Можно сказать еще сумму количества зерен предыдущей клетки и следующей.

Мы знаем, что на первой клетке 1 зерно, на второй в 2 раза больше, т.е. 2 зерна, на третьей в 2 раза больше, чем на второй, т.е. 8, и так далее… Значит мы должны создать переменную, и в нее складывать 64 раза сумму двух чисел, при чем второе число в 2 раза больше первого.

Итак, что бы найти зерна на шахматной доске необходимо:

  • создаем переменную, в которую будем складывать сумму;
  • создаем переменную, в которой будем получать количество зерен на второй клетке;
  • запускаем цикл 64 раза и в цикле работаем с этими переменными.
total = 0 # Переменная, куда будем складывать сумму чисел
current = 1 # Здесь храним второе число
for i in range(64):
    total += current # складываем сумму
    current *= 2 # получаем количество зерен на второй клетке

print(total)

Что такое простые циклы Python и функция range мы рассказываем здесь, а вот как использовать коротку запись математического выражения вот здесь.

На самом деле это довольно простая задача, смотрите другие решения задач касаемо шахматной доски и ходов фигур вот в этой подборке.

Если вы знаете другие варианты, как можно проще решить задачу, возможно, меньше кода или более быстродействующий алгоритм, и определить количество зерна на шахматной доске, пишите в комментариях, обязательно обсудим, мы не притендуем ни в коем случае на самое правильное решение!

Рейтинг
( 1 оценка, среднее 5 из 5 )
Понравилась статья? Поделиться с друзьями:
Комментарии: 2
  1. Роман

    Не верная задача, первое значение 2. В первой клетке 1 зерно, а не 2.

    1. admin (автор)

      Да, точно, спасибо, исправил!

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: