2.1 Задача Иосифа Флавия. 'Поколение Python': курс для продвинутых. Курс Stepik

preview_player
Показать описание
n человек, пронумерованных числами от 1 до n, стоят в кругу. Они начинают считаться, каждый k-й по счету человек выбывает из круга, после чего счет продолжается со следующего за ним человека. Напишите программу, определяющую номер человека, который останется в кругу последним.

Разбор задач из онлайн-курса "Поколение Python": курс для начинающих. С образовательной онлайн-платформы Stepik.
Разбор задач по Python (Питон):
"Поколение Python": курс для профессионалов -

Рекомендации по теме
Комментарии
Автор

Спасибо тебе человек. Я пол года назад бросил этот курс из-за этой задачи, теперь продолжу...

dvr
Автор

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

georgebogatirenko
Автор

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

_escwater_
Автор

Круто! Роман, спасибо за объяснение))

allav
Автор

Тоже думал решить через список, но почитав статьи на википедии и хабре, решил по другому.

def joseph(n, k):
result = 0
for i in range(2, n + 1):
result = (result + k) % i
return result + 1

n = int(input())
k = int(input())

result = joseph(n, k)
print(result)

Kaiphusha
Автор

не мог ее решить и пришел смотреть разбор. Что то я вообще не в ту степень пошел.

tthxkhe
Автор

Не понимаю как работает цикл q(0, k-1), когда len(s) уже например = 3, а k=5, тогда индексы чисел в списке= 0, 1, 2, а range(0, 4), т.е нужно вконец прибавить числа с индексами 0, 1, 2, 3, а числа с индексом[3] уже нет. Почему переходит по кругу и присоединяет с индексом [0]? Программа то работает 😵

wxutctn
Автор

Как ты умудряешься находить решение??? Помоги, что почитать?? С мвтематикой у меня все ок, было в школе))) но и сейчас норм, но как решать задачи по питону не понимаю((((верней понимаю, но не до конца

piglifesbetter
Автор

Подскажите, пожалуйста, зачем * в print(*s) ??

polinakor