profile
Размещено 4 года назад по предмету Информатика от gvozdb27

Привет, помогите с задачей (язык Python):


N человек, пронумерованных числами от 1 до N, стоят в кругу. Они начинают играть в считалку на выбывание, где каждый K-й по счёту человек выбывает из круга, после чего счёт продолжается со следующего за ним человека. На вход подаётся количество человек N и номер K. Напишите программу, которая выводит число от 1 до N — это номер человека, который останется в кругу последним.

members = []
n = int(input('Сколько всего человек? '))
number = int(input('Какое число в считалке? '))
print('Значит, выбывает каждый', number, 'человек.n')
out = 0
members = list(range(1, n + 1))
while len(members) > 1:
``print('Текущий круг людей:', members)
``start_count = out % len(members)
``out = (start_count + number - 1) % len(members)
``print('Начало счёта с номера', members[start_count])
``print('Выбывает человек под номером', members[out])
``print()
``members.remove(out + 1)
print('Остался человек под номером', members)

Проблема, когда остаются 2 человека, вылетает ошибка, она в комментах. Как её исправить?

  1. Ответ на вопрос
    Ответ на вопрос дан iluwka216

    num = int(input('Кол-во человек: '))

    number = int(input('Какое число в считалке? '))

    print('Значит, выбывает каждый', number, 'человек.')

    mens_list = list(range(1, num + 1))

    out = 0

    for _ in range(num - 1):

       print('Текущий круг людей', mens_list)

       start_count = out % len(mens_list)

       out = (start_count + number - 1) % len(mens_list)

       print('Начало счёта с номера', mens_list[start_count])

       print('Выбывает человек под номером', mens_list[out])

       mens_list.remove(mens_list[out])

       print()

    print('Остался человек под номером', mens_list)

    1. Ответ на вопрос
      Ответ на вопрос дан gvozdb27
      Спасибо, работает!
Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 6 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.