100-069

有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
 1 #! /usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 '''
 4 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
 5 '''
 6 n=int(input("输入人数:"))
 7 List=[]
 8 for i in range(1,n+1):
 9     List.append(i)
10 
11 sum=0
12 while 1:
13     t=0;
14     for i in range(1,len(List)+1):
15         sum=sum+1
16         if (sum)%3==0:
17             List.pop(i-1-t)
18             t=t+1
19 
20     if len(List)==1:
21         print("最后留下的是原来第%d号的那位" % List[0])
22         break

 

posted @ 2018-06-02 19:50  睡到自然醒的猪  阅读(79)  评论(0)    收藏  举报

iaoexl at outlook dot com, 返回顶部 →友情链接: 信息港 同城信息