队尾幸运编号

队尾幸运编号

  • 题目描述

    N个人排成一队,从1到5轮流报数,报5的人是幸运者,出列。报到队尾后,从队首接着报。依此循环。
        问:排在队尾的人是第几名幸运者?
        注:N为小于100000的正整数。
        例如:
        1人排成一队,他就是第1名幸运者。
        3人排成一队,队尾是第2名幸运者。
        5人排成一队,队尾是第1名幸运者。
        8人排成一队,队尾是第3名幸运者。
    
  • Python解决

    num =int(input("输入N>>>\n"))
    people_list = []
    for i in range(1,num+1):
        people_list.append(i)
    lucky_list = []
    lucky = 0
    for i in range(num):
        lucky = (lucky + 4) % len(people_list)
        lucky_one = people_list[lucky]
        lucky_list.append(lucky_one)
        people_list.remove(lucky_one)
    print("排在队尾的是第%d位为幸运者" %(lucky_list.index(num)+1))
    
posted @ 2020-07-15 19:33  guguda  阅读(169)  评论(0)    收藏  举报