Задача на пайтоне написать кад
Василина Премудра грала у шашки зі Змієм Гориничем. Спочатку Василина з'їла у Горинича 3 шашки, а Горинич у Ва- силини - 5 шашок, потім Василина у Горинича з'їла 9 шашок, а Горинич у Василини - 10 шашок, на третьому ході Василина проковтнула 15 шашок, а Горинич - 20. Ця серйозна гра трива- ла ще довго, аж поки Горинич не втомився і на N-му ході не з'їв саму Василину Премудру. Скільки всього шашок проковтнув Змій Горинич?
Answers & Comments
Відповідь:
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.")
Ответ:
Сначала надо четко определиться с условием.
Вася ела в таком порядке
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 шашек у каждого.