欢迎使用CSDN-markdown编辑器

来源:互联网 发布:看门狗2低配置怎么优化 编辑:程序博客网 时间:2024/06/10 02:45
题目:耶稣有13个门徒,其中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围坐一圈,从第一个开始报号:1,2,3,1,2,3„„,凡是报到“3”就退出圈子,最后留在圈内的人就是出卖耶稣的叛徒,请找出它原来的序号。
public static void fun()        {        //二维数组定义了13个人,后面是他们的状态(1代表未出局,0代表出局)            int[,] people =new int[13,2] { { 1,1 }, { 2,1 }, { 3, 1 }, { 4, 1 }, { 5, 1 }, { 6, 1 }, { 7, 1 }, { 8, 1 }, { 9, 1 }, { 10, 1 }, { 11, 1 }, { 12, 1 }, { 13, 1 } };            int count = 1;            int p = 0;            int outpeople = 0;            while (true)            {                if (people[p, 1] != 0)                {                    if (count % 3 == 0)                    {                        people[p, 1] = 0;                        outpeople++;                    }                    count++;                }                if (p == 12)                {                    p = -1;                }                p++;                if (outpeople==12)                {                    break;                }            }            for (int i = 0; i<13;i++)            {                if (people[i,1]==1)                {                    Console.WriteLine(people[i, 0]);                }            }        }

不知道有没有改进的地方
我觉得应该还有更简单的算法

原创粉丝点击