不可以 发表于 2017-9-17 09:44:58

学习

伪教父 发表于 2017-10-23 21:44:04

怎么做到的呢

a5509 发表于 2017-11-13 21:45:39

不懂怎么写,看一下

编程新血 发表于 2017-11-21 19:46:52

从连接跳过来的,看看,学习一下.

被翻红浪 发表于 2017-12-21 12:23:03

有思路了

枫树霜雪 发表于 2017-12-21 14:43:13

学习一下

JAY饭 发表于 2018-2-26 15:26:27

def yue(n,k):
    list_y =
    t = list_y.pop(k-1)
    while len(list_y) > 1:
      if len(list_y) < k:
            t1 = (k-1)%len(list_y)
            t = list_y.pop(t1)
            list_y = list_y + list_y[:t1]
      else:
            list_y = list_y + list_y[:k-1]
            t = list_y.pop(k-1)
    print(list_y.pop()+1)
yue(100,3)
yue(10000,6)
      
      

JAY饭 发表于 2018-2-26 17:43:59

效率一点都比不上你
      
def yue1(n,k):
    list_x =
    list_y = list_x[:]
    t = k-1
    while len(list_x) > 1:
      if len(list_x)<k:
            list_x.pop(t1)
            t1 = (t1+k-1)%(len(list_x))
      else:
            for i,j in enumerate(list_x):
                if i%k == t:
                  c = i
                  list_y.remove(j)
            t1 = t = (c + k - len(list_x))
            list_x = list_y[:]
    print(list_x.pop()+1)
      
yue1(100000,6)

topscien 发表于 2018-3-1 14:17:57

我是来抄答案的!{:5_97:}

Charonnnnn 发表于 2018-3-21 20:45:36

la'la

phthon_yw 发表于 2018-3-21 21:29:03

看一看

Even_138 发表于 2018-3-27 11:19:13

学习一下

小酒酒 发表于 2018-4-7 17:16:22

学习一下

Peanut丶酱 发表于 2018-4-10 12:45:33

我想看看,源码,谢谢{:5_91:}

colinshi 发表于 2018-4-10 13:47:00

我来看看结果。我的想法是,定义两个变量,一个变量为人数n,一个变量为k,然后循环N次,每次K+=k,最终K/n的余数就是最后剩下的人

kokawu 发表于 2018-4-12 18:12:27

看看帖子里藏了啥好东西~~~

kokawu 发表于 2018-4-13 08:17:06

看看帖子里藏了啥好东西~~~

tayy 发表于 2018-4-22 21:19:43

    num = int(input('多少人围成一圈:'))
    list1 = list(range(1, num + 1))
    n = 2
    while len(list1) > 1:
      list1.pop(n)
      n = (n + 2) % len(list1)
    print('最后留下的是原来第%d号'%list1)

小强工作室 发表于 2018-4-23 14:04:25

学习一下

badaoqingchen 发表于 2018-4-23 17:23:33

本帖最后由 badaoqingchen 于 2018-4-23 17:32 编辑

x = range(1, n+1)

while 1:
    if len(x) == 1:
      print x
      break
    if len(x) == 2:
      print x
      break
    x1 = len(x)%3
    x0 = []
    for i in x:
      if (x.index(i)+1) %3 == 0:
            print i
            x0.append(i)

    for i in x0:
      x.remove(i)
            
    for i in range(x1):
      x.insert(0,x[-1])
      x = x[:-1]
页: 1 [2] 3 4
查看完整版本: python小练习(058):10来行代码求解约瑟夫环问题