Задача на пайтоне написать кад
Василина Премудра грала у шашки зі Змієм Гориничем. Спочатку Василина з'їла у Горинича 3 шашки, а Горинич у Ва- силини - 5 шашок, потім Василина у Горинича з'їла 9 шашок, а Горинич у Василини - 10 шашок, на третьому ході Василина проковтнула 15 шашок, а Горинич - 20. Ця серйозна гра трива- ла ще довго, аж поки Горинич не втомився і на N-му ході не з'їв саму Василину Премудру. Скільки всього шашок проковтнув Змій Горинич?​

Ответы

Ответ дал: Аноним
1

Відповідь:

def checkers_eaten_by_horynich(n):

 total_eaten = 0

 for i in range(1, n+1):

   if i % 2 == 1:

     total_eaten += 5

   else:

     total_eaten += 10

 return total_eaten

n = int(input("Enter the number of moves: "))

result = checkers_eaten_by_horynich(n)

print("Zmi Horynich swallowed", result, "checkers.")

Ответ дал: p15
1

Ответ:

Сначала надо четко определиться с условием.

Вася ела в таком порядке

3 => 9 => 15 => (видимо 15+6=21) => 27....

Хотя Вася нас не сильно интересует.

Нас интересует Змеюшка. Он кушал в таком порядке:

5 => 10 => 20 => (видимо 20*2=40 и т.д.)

Первый ход был  у белых (А ими играла дама).

Т.е. нам нужны четные.

Самое быстрое решение - сумма геометрической прогрессии, но будем все же циклом решать, для разнообразия. Все в одну строчку.

print('съедено Горынычем:',sum(5*2**i for i in range(int(input('количество ходов: '))//2)),'пешек и одна Василиса')

Объяснение:

Из интересного:

В русских шашках только 12 шашек у каждого игрока, потому не понятно что они там ели

В английских первыми ходят черные, но на результат не влияет

В международных по 20 шашек у каждого.


p15: подумал, сейчас чуть уменьшу...
p15: Можно быстрее и меньше без цикла, а по формуле
Ullllllll: спасибо большое
p15: Добавил, что больше 20 шашек они вряд ли могли съесть, если только у них не было сеанса одновременной игры на множестве досок.
Вас заинтересует