码迷,mamicode.com
首页 > 编程语言 > 详细

C语言必会面试题(3、耶稣有13个门徒,其中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围坐一圈,从第一个开始报号:1,2,3,1,2,3...。凡是报到“3”就退出圈子,...)

时间:2014-08-19 09:25:27      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:c语言   面试题   printf   

3、耶稣有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;//记录当前人数
    int count = 0;//1,2,3报数
    int i = 0;
    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]);
        }
    }


C语言必会面试题(3、耶稣有13个门徒,其中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围坐一圈,从第一个开始报号:1,2,3,1,2,3...。凡是报到“3”就退出圈子,...),布布扣,bubuko.com

C语言必会面试题(3、耶稣有13个门徒,其中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围坐一圈,从第一个开始报号:1,2,3,1,2,3...。凡是报到“3”就退出圈子,...)

标签:c语言   面试题   printf   

原文地址:http://blog.csdn.net/w_sx_/article/details/38676937

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!