`
tomotoboy
  • 浏览: 165161 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

一道面试题实现

    博客分类:
  • Java
阅读更多
一个岛上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`元素。在...

    一道asp.net c#面试题

    在这个面试题中,我们看到的是一个典型的"观察者模式"(Observer Pattern)的应用。观察者模式是一种行为设计模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知...

    js面试题面试题面试题

    根据给定的文件信息,以下是对每一道JS面试题的知识点进行详细解析: ### 第一题:编写一个方法求一个字符串的字节长度 #### 解析: 在这道题目中,我们需要编写一个函数来计算字符串的字节长度。这里的重点在于...

    前端面试题-手写代码实现

    标题“前端面试题-手写代码实现”暗示了面试者需要具备的能力。在前端面试中,手写代码能力不仅要求开发者能够流畅地编写代码,还要求对常用的编程概念有深入的理解。常见的手写代码题目可能包括但不限于数据结构、...

    一道面试题的思考

    《一道面试题的思考——深入理解memcpy函数的实现》 在C语言中,`memcpy`函数是一个非常重要的内存操作函数,用于将一块内存区域的数据复制到另一块内存区域。在面试中,这个问题常用来测试候选人的基础知识、逻辑...

    一道关于Ajax、Jquery的面试题

    针对这道面试题,可能的问题方向包括: 1. **Ajax的基本工作原理**:解释Ajax是如何通过XMLHttpRequest对象实现异步通信的,涉及的步骤包括创建对象、打开连接、设置请求方法、发送请求、接收响应和处理数据。 2. ...

    Java 面试题 Java 面试题

    根据给定的文件内容,我们可以总结出一系列与Java面试相关的知识点。下面将详细解析每一道题目涉及的关键概念。 ### 第一部分:基础知识 #### 1. final, finally, finalize的区别 - **final**: 用于声明变量、方法...

    整理C#面试题10套

    "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++程序员而言,面试中常出现的经典问题往往围绕基础概念、编程技巧和逻辑思维能力。本文将深入探讨一些常见的C语言面试题,帮助你了解面试官...

    java的一些面试题

    Java面试题涵盖了许多核心知识点,包括基础技术、项目经验、逻辑推理和SQL查询。下面将对这些方面进行详细的解析。 1. **基础技术题** - **UML图**:UML(统一建模语言)有多种图表,包括类图、对象图、用例图、...

    一道面试题引发的对javascript类型转换的思考

    在上述的面试题中,面试者需要实现一个名为add的函数,该函数可以实现连续调用并累加求和的功能。例如,add(1)(2)应该返回3,add(1, 2, 3)(10)应该返回16。解决这个问题需要对JavaScript中的函数、函数的构造方法、...

    程序员面试题精选100题

    程序员面试题精选100题 本资源是程序员面试题精选100题,涵盖了算法、数据结构、操作系统、计算机网络、数据库等多个领域。今天,我们将深入分析其中的一道题目,即将二元查找树转换成排序的双向链表。 知识点一:...

    北京四维公司上机面试题(全英文)

    【标题】:“北京四维公司上机面试题(全英文)”揭示了这是一场针对C++编程语言的面试考核,特别强调了全英文环境,意味着应聘者不仅需要精通C++,还需要具备良好的英语阅读和理解能力。北京四维公司可能是一家注重...

    还在死记硬背面试题,面试官问我题的时候,我哭了,试试这一套,精心提炼核心重点内容简化实战应用面试宝典10秒钟搞定一道面试题!

    最新版Java面试宝典,精心提炼核心重点内容简化应用面试实战10秒一道,Java初级,高级,框架,底层原理,数据库,操作系统,微服务,IO,并发,JVM,容器,SpringBoot,SpringCloud,linx,面向对象,常用类,多线程,...

Global site tag (gtag.js) - Google Analytics