展开全部
收起
1回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • 何家欢

    65人对此回答表示赞同


    # -*- coding: utf-8 -*-
    """
    :created on: 2015年5月18日

    :author: Chuanqing Qin
    :contact: qinchuanqing918@sina.com

    这个小程序是为了解决约瑟夫环这个问题。100个人报数偶数测剔除,剔除之后再次报数,偶数还是
    剔除,知道余下最后一个人,问这个人的编号。
    本算法的实现比较低效,但是完成了相关的功能,过程如下:、
    首先将编号放入一个列表,之后循环列表,将编号是奇数的标志为1,
    一次循环之后将所有为-1的值删除,之后进入下次循环,直到最后的列表
    还剩下一个元素。
    """

    def josephCircle(number_of_people):
        temp_prision = [i for i in range(1, number_of_people + 1)]
        while temp_prision.count(-1) != len(temp_prision) - 1:
            for i in xrange(len(temp_prision)):
                if 1 == (i + 1) % 2:
                    temp_prision[i] = -1
            while temp_prision.count(-1) != 0:
                temp_prision.remove(-1)
        print temp_prision
                    
        
    if __name__ == '__main__':
        number_of_people = int(raw_input("please input the numbers of prisons"))
        josephCircle(number_of_people)


    有没有实用一点的比如搜索关键字什么的...这种单纯的数学计算题对我没啥帮助啊 T^T



    追答


    # -*- coding: utf-8 -*-
    impo
    展开
    65
    0回复
    发布于 7年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部