您的位置:首页 > 编程语言 > Python开发

Python 新手之 Joseph 问题

2007-01-16 17:50 288 查看

def joseph(total,interval):


""" 计算Joseph问题。total - 总数,interval - 间隔
"""


li = range(total)


i = 0


temp = 0 #返回结果


tempstr = "" #用来存储临时字符串


interval -= 1 #对间隔进行处理


while len(li) > 0:


tempstr = ""


i = (i) % len(li)


temp = li[i]


li.remove(li[i])


#输出一些测试内容


tempstr = str(temp) + " " + str(i) + " " + str(len(li))


if len(li)>0 :tempstr += " " + str(li[0]) + " " + str(li[-1])


print tempstr


# tempstr = " ".join("%d" % (li[j]) for j in range(len(li)))


# print " " + tempstr


# i = i + 1


i = i + interval


print temp






if __name__ == "__main__":


joseph(8,4)





多么简洁!

速度相当的快哦,已经测试过1000,2左右,完全不输出临时字符串的话非常的快,具体时间本人还不会测……
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: