黑马程序员技术交流社区
标题:
遇到一个问题
[打印本页]
作者:
yangguangyu
时间:
2015-9-13 13:49
标题:
遇到一个问题
遇到问题不能解决
1、 耶稣有15个门徒,其中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:15人围坐一圈,从第一个开始报号:1,2,3,1,2,3……,凡是报到“3”就退出圈子,最后留在圈内的人就是出卖耶稣的叛徒,请找出它原来的序号。这个具体怎么搞,求大神?
作者:
Surprise
时间:
2015-9-13 13:56
最后留在圈子里面的是两个人,但是叛徒只有一个!!!
作者:
lumangmang
时间:
2015-9-13 15:57
基础测试里的
作者:
毛强
时间:
2015-9-13 19:16
本帖最后由 毛强 于 2015-9-13 19:45 编辑
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
int a[16] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};//16为结束序号位
int j=0;//纪录出局的人数
int i=1;//计算从1开始连续报数
while (j != 14)
{
for (int n=0; a[n]!=16; n++)//报数一轮
{
//判断门徒是否报到3
if (i%3 == 0)
{
//将报3的门徒序号改为0,用于下面进行数组左移
a[n] = 0;
j++;
}
i++;
}
//数组清空0左移
for (int k = 0; a[k]!=16; k++)
{
if (a[k] == 0)
{
for (int m=k; a[m]!=16; m++)
{
a[m] = a[m+1];
}
}
}
}
//打印叛徒
printf("叛徒的序号为:%d号\n", a[0]);
}
return 0;
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2