• Предмет: Информатика
  • Автор: tatanausova551
  • Вопрос задан 6 лет назад

как решить задачу про шахматную доску и зерна в питоне через While? ❗СРОЧНООО ❗​


Ziorar: Насколько я помню, на первую клетку шахматной доски- одно зерно, на каждую следующую- в два раза больше. И, посчитать сколько в всего зерна получится (так то 2^64 - 1 получается, но можно и циклом считать конечно). Если что, я совсем не знаю Питон, первый раз попробовал что то написать:
n = 1
s = 1
c = 1
while c<64:
n *= 2
s += n
c += 1

print(s)

Получается результат= 18446744073709551615 зёрен
tatanausova551: спасибо большое
Ziorar: Пожалуйста. Только три строки под while должны начинаться с пары пробелов (тут в комментах пробелы пропали)
tatanausova551: хорошо

Ответы

Ответ дал: Ziorar
0

В этой задаче на первую клетку шахматной доски кладут одно зерно, на каждую следующую- в два раза больше. Надо посчитать, сколько всего зерна получится на всех 64 клетках. Так то это число считается вот так:  2^64 - 1   но можно и циклом посчитать, раз уж задано.

Вот эта программа:

n = 1

s = 1

c = 1

while c<64:

   n *= 2

   s += n

   c += 1

print(s)

По легенде, жил в Индии мудрец, который и придумал шахматы. Однажды он показал эту игру правителю страны. Тому игра так понравилась, что он сказал- бери в награду всё что захочешь, мол богатства мои бесконечны. Мудрец решил доказать правителю что это не так. Он попросил с виду ничтожную цену: за первую клетку шахматной доски одно зерно пшеницы, за вторую- два зерна, за третью- четыре, и так далее (удваивая количество). Правитель удивился такой малой награде, но велел посчитать и выдать мудрецу положенное зерно. Спустя неделю правитель стал спрашивать, почему так долго считают. Казначей показал ему свои расчёты, и ответил, что оплатить невозможно- такого количества зерна нет на всей земле!

За все 64 клетки шахматной доски создателю игры потребовалось бы выдать 18 446 744 073 709 551 615 зёрен пшеницы!  (по другой версии, речь шла о рисе)

Вас заинтересует