首页 > 代码库 > 13个人中找出叛徒的问题(耶稣问题)经典做法

13个人中找出叛徒的问题(耶稣问题)经典做法

//耶稣有13个门徒,其中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围坐一圈,从第一个开始报号:1,2,3,1,2,3...。凡是报到“3”就退出圈子,最后留在圈子内的人就是出卖耶稣的叛徒。请找出它原来的序号
    
    
//        int a[13] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13};
//        int  number = 13, i = 0, count = 0;//number用来记录剩下大不是0的数,count值为1, 2,  3
//        while (number > 1) {
//            if (a[i] != 0) {
//                count ++;
//            }
//            if (count == 3) {
//                a[i] = 0;
//                count = 0;
//                number --;
//            }
//                i ++;
//            if (i == 13) {
//                i = 0;
//            }
//            }
//        for ( i = 0; i < 13; i++) {
//            if (a[i] > 0) {
//                printf("%d", a[i]);
//            }
//        }