Зерна на шахматной доске – задача состоит в том, что необходимо найти сколько будет зёрен на шахматной доске, если класть на каждую следующую клетку доски вдвое больше зёрен, чем на предыдущую, начиная с одного.
Итак, решение очень простое: на доске всего 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 мы рассказываем здесь, а вот как использовать коротку запись математического выражения вот здесь.
На самом деле это довольно простая задача, смотрите другие решения задач касаемо шахматной доски и ходов фигур вот в этой подборке.
Если вы знаете другие варианты, как можно проще решить задачу, возможно, меньше кода или более быстродействующий алгоритм, и определить количество зерна на шахматной доске, пишите в комментариях, обязательно обсудим, мы не притендуем ни в коем случае на самое правильное решение!
Не верная задача, первое значение 2. В первой клетке 1 зерно, а не 2.