一个岛上30个人,其中15个教徒和15五个非教徒,这30个人手拉手围成一圈,从第1个人开始数到9,第9个是非教徒,将其推入还海中,接着又从下一个人开始数到第9个人,将其推入海中,即是说,每数到第个9人时,该人恰好为非教徒,请问这15个非教徒如何排序?
Java实现
首先建立一个类
Person.java
public class Person {
private int number;//号码牌
public Person(int nbr){
setNumber(nbr);
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
}
查找主程序
import java.util.LinkedList;
public class Search {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
LinkedList lList = new LinkedList();
//Numbers用于记录15个非教徒的号码牌
int [] Numbers ={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
for(int i=0;i<30;i++){
//分配号码牌
Person p = new Person(i+1);
lList.add(p);
}
for(int m=0,n=0;m<15;m++){
n=n+8;
n=n%(lList.size());//寻找下一个非教徒的位置
Numbers[m]=((Person)lList.get(n)).getNumber(); //取出非教徒的号码牌
lList.remove(n);//将非教徒推入海中
}
for(int i =0;i<15;i++){
System.out.print(Numbers[i]);
System.out.print(" ");
}
}
}
输出结果为:
9 18 27 6 16 26 7 19 30 12 24 8 22 5 23
分享到:
相关推荐
笔试面试题 一道面试题关于信息系统的问答和注意事项 【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的...
根据题目提供的信息,这是一道涉及SQL查询技巧的微软数据库面试题。虽然题目中的SQL代码与题目描述不完全对应,但我们可以基于题目描述中的信息来分析这个问题并给出解答。 ### 题目背景 题目描述指出,有一个表,...
这道"经典的前台程序员面试题"显然关注的是前端布局技术,特别是使用DIV和CSS来构建网页结构。这里,我们重点讨论这个话题,并通过提供的压缩包文件名暗示的可能内容进行深入探讨。 首先,让我们理解`DIV`元素。在...
在这个面试题中,我们看到的是一个典型的"观察者模式"(Observer Pattern)的应用。观察者模式是一种行为设计模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知...
根据给定的文件信息,以下是对每一道JS面试题的知识点进行详细解析: ### 第一题:编写一个方法求一个字符串的字节长度 #### 解析: 在这道题目中,我们需要编写一个函数来计算字符串的字节长度。这里的重点在于...
标题“前端面试题-手写代码实现”暗示了面试者需要具备的能力。在前端面试中,手写代码能力不仅要求开发者能够流畅地编写代码,还要求对常用的编程概念有深入的理解。常见的手写代码题目可能包括但不限于数据结构、...
《一道面试题的思考——深入理解memcpy函数的实现》 在C语言中,`memcpy`函数是一个非常重要的内存操作函数,用于将一块内存区域的数据复制到另一块内存区域。在面试中,这个问题常用来测试候选人的基础知识、逻辑...
针对这道面试题,可能的问题方向包括: 1. **Ajax的基本工作原理**:解释Ajax是如何通过XMLHttpRequest对象实现异步通信的,涉及的步骤包括创建对象、打开连接、设置请求方法、发送请求、接收响应和处理数据。 2. ...
根据给定的文件内容,我们可以总结出一系列与Java面试相关的知识点。下面将详细解析每一道题目涉及的关键概念。 ### 第一部分:基础知识 #### 1. final, finally, finalize的区别 - **final**: 用于声明变量、方法...
"C#面试题10套" 本资源摘要信息涵盖了C#面试题10套,涵盖了C#、.NET、面试题等知识点,详细解释了每一个问题和答案。 问题一: 密码问题,涉及到逻辑思维和规则应用。问题中给出了五个字母K、L、M、N、O,要求在...
【大厂面试题】史上最详细的一线大厂前端面试题详解及其答案 目录: 1、如何避免CDN为PC端缓存移动端页面 2、响应式开发剖析 3、页面渲染原理剖析 4、HTTPS工作流程 5、js防抖和节流剖析 6、js解决获取浏览器的唯一...
这道2011年腾讯校招的面试题虽然没有明确的问题描述,但从标签中我们可以推测,它可能涉及C++、.NET、Java这三种编程语言中的某一方面,或者是关于算法设计与分析。面试题通常旨在考察候选人的思维能力、编程基础...
根据给定的信息,我们可以深入探讨这道华为面试题——“两个长数字相乘”的实现细节与背后的算法原理。 ### 题目解析 题目要求计算两个长整数相乘的结果,这里的“长整数”指的是那些无法直接用现有的数据类型(如...
《C语言经典面试题解析》 面试是评估潜在员工技能的重要环节,对于C/C++程序员而言,面试中常出现的经典问题往往围绕基础概念、编程技巧和逻辑思维能力。本文将深入探讨一些常见的C语言面试题,帮助你了解面试官...
Java面试题涵盖了许多核心知识点,包括基础技术、项目经验、逻辑推理和SQL查询。下面将对这些方面进行详细的解析。 1. **基础技术题** - **UML图**:UML(统一建模语言)有多种图表,包括类图、对象图、用例图、...
在上述的面试题中,面试者需要实现一个名为add的函数,该函数可以实现连续调用并累加求和的功能。例如,add(1)(2)应该返回3,add(1, 2, 3)(10)应该返回16。解决这个问题需要对JavaScript中的函数、函数的构造方法、...
程序员面试题精选100题 本资源是程序员面试题精选100题,涵盖了算法、数据结构、操作系统、计算机网络、数据库等多个领域。今天,我们将深入分析其中的一道题目,即将二元查找树转换成排序的双向链表。 知识点一:...
【标题】:“北京四维公司上机面试题(全英文)”揭示了这是一场针对C++编程语言的面试考核,特别强调了全英文环境,意味着应聘者不仅需要精通C++,还需要具备良好的英语阅读和理解能力。北京四维公司可能是一家注重...
最新版Java面试宝典,精心提炼核心重点内容简化应用面试实战10秒一道,Java初级,高级,框架,底层原理,数据库,操作系统,微服务,IO,并发,JVM,容器,SpringBoot,SpringCloud,linx,面向对象,常用类,多线程,...