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

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”就退出圈子,...)

时间: 2024-11-09 03:41:33

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

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

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

题目: 耶稣有15个门徒,其中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:15人围坐一圈,从第一个开始报号:1,2,3,1,2,3……,凡是报到“3”就退出圈子,最后留在圈内的人就是出卖耶稣的叛徒,请找出它原来的序号。(用C语言)

#include <stdio.h> #define M 15   //M表示人数,N表示报号退出的数字 int main() { int  str[M]; for(int a = 0;a<M;a++)   //for循环赋值 { str[a]=a+1; } int number = M,count = 0,i =0; while (number > 1)  //直到只剩一人退出循环 { if (str[i] != 0)//最后没有的时候就不用计算了 count++; if (co

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; //通过计算器来模拟报数 int i = 0; //循环变量 while (number > 1) { if (a[i] != 0) { count++; } if (count == 3) { a[i] = 0; //让该元素置0,模拟踢出圈子 count = 0; //然后计数器重新归0 number--; //踢出

Linux运维MySQL必会面试题100道

老男孩教育Linux运维班MySQL必会面试题100道 (1)基础笔试命令考察 (要求:每两个同学一组,一个口头考,一个上机实战作答,每5个题为一组,完成后换位) 1.开启MySQL服务 2.检测端口是否运行 3.为MySQL设置密码或者修改密码. 4.登陆MySQL数据库. 5.查看当前数据库的字符集 6.查看当前数据库版本 7.查看当前登录的用户. 8.创建GBK字符集的数据库oldboy,并查看已建库完整语句 9.创建用户oldboy,使之可以管理数据库oldboy 10.查看创建的用户o

(转)Linux运维MySQL必会面试题100道

老男孩教育Linux运维班MySQL必会面试题100道 (1)基础笔试命令考察 (要求:每两个同学一组,一个口头考,一个上机实战作答,每5个题为一组,完成后换位) 1.开启MySQL服务 2.检测端口是否运行 3.为MySQL设置密码或者修改密码. 4.登陆MySQL数据库. 5.查看当前数据库的字符集 6.查看当前数据库版本 7.查看当前登录的用户. 8.创建GBK字符集的数据库oldboy,并查看已建库完整语句 9.创建用户oldboy,使之可以管理数据库oldboy 10.查看创建的用户o

C语言:从p所指字符串中找出ASCII码最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。

//fun函数:从p所指字符串中找出ASCII码最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动. 1 #include <stdio.h> 2 void fun( char *p ) 3 { char max,*q; int i=0; 4 max=p[i]; 5 while( p[i]!=0 ) 6 { if( max<p[i] ) 7 { max=p[i]; 8 /**********found**********/ 9 q = p + i;//先找到最大值,记录最

面试题:在一个数组中有0-99之间的整数101个(数组无序),用高效方法找出其中的唯一的重复元素!

/* * 问题:找出101个数据中重复的元素 * 题目如下:现有0到99,共计100个整数,各不相同,将所有数放入一个数组,随机排布. *        数组长度101,多余的数字是0到99其中任意一个数(唯一重复的数字) *        请将这个重复的数字找出来 * 分析: *    A:把数组构造出来 *    B:把数组元素添加进去 *    C:对数组的元素进去打乱(随机分布) *    D:找出重复的元素 */ 这道题有三种方式:第一种用交换排序找出,第二种求数组的和再减去0-99,

linux批量分发必会面试题,通过邮件反馈结果。

请准备三台linux机器为别为A,B,C,要求实现以下内容1.用自己的名字用户完成一把钥匙开多把锁(A,钥匙,B,C锁)的免密码登录部署场景该题在生产环境中的用途为:批量分发数据,批量发布程序代码,批量控制管理等. 大型批量管理软件pupet/saltstack2.在1题的前提下同样用自己的名字用户完成多把钥匙开一把锁(B,C钥匙,A锁)的免密码登录B--AC--A一题中我们在A创建了锁和钥匙,所以B和C要控制A就先把钥匙发给B和C,因为A本地的锁还不正常,就像A给B和C发公钥一样给自己再发一份

Linux必会面试题--1

1.列出你所知道的所有vi,vim编辑器的编辑模式,普通模式,命令模式.这三种模式下的操作指令 编辑模式:无 普通模式:G gg yy p d dd D u r x $ ^ dG i a o A I O 命令模式: : / :wq :x shift+zz :set nu :set ic :set list 2.在当前系统能ping通百度的情况下,使用命令(curl cip.cc)查看(公网IP)当前网络出口地址,取出关键字"数据二"所在的行,以空格为分隔符,取出第三列的内容 [[ema