c语言经典,高手必备,找出卖耶稣的叛徒问题!
2014-07-29 13:07
281 查看
题目:耶稣有13个门徒,其中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围坐一圈,从第一个开始报号:1,2,3,1,2,3...。凡是报到“3”就退出圈子,最后留在圈子内的人就是出卖耶稣的叛徒。
<strong><span style="font-size:24px;"> int a[13] = {0}; for (int i = 0; i < 13;i ++ ) { a[i] = i + 1; } int i = 0; int r = 13; int c = 0; while (r > 1) { //如果a[i]没有被剔除掉,报数有效 if (a[i] != 0) { c ++; } if (c == 3) { a[i] = 0;//剔除掉 c = 0;//将计数器清零 r --;//存活人数 } i ++;//记录报数的下一个人 if (i == 13) { i = 0;//当超出报数的范围时,立即将i置为0 } } for (int j = 0; j < 13; j ++) { if (a[j] != 0) { printf("叛徒为:%d",a[j ]); } }</span></strong><span style="color:#330000;"> </span>
相关文章推荐
- 13个人中找出叛徒的问题(耶稣问题)经典做法
- 【C语言】耶稣门徒问题求解——谁是叛徒
- C语言必会面试题(3、耶稣有13个门徒,其中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围坐一圈,从第一个开始报号:1,2,3,1,2,3...。凡是报到“3”就退出圈子,...)
- C语言18个经典问题答录
- C语言18个经典问题答录
- C语言高手请教点问题
- 有关C语言的数据统计和编程问题 高手请进
- 高手必备!Vista操作系统经典绝技揭密(2)
- c语言中 字符数组的问题 很纠结啊 请教高手!!!
- C语言18个经典问题答录
- C语言18个经典问题答录
- 18个经典c语言问题
- 编程必备经典:Java常见问题集锦
- C语言18个经典问题答录
- c语言18个经典问题
- C语言18个经典问题答录(转)
- 高手必备!Vista操作系统经典绝技揭密(1)
- 高手必备!Vista的经典绝技大揭密!
- 经典MySQL语句收藏(高手必备)
- C语言18个经典问题答录