以前在一个笔试的时候考到过。。。
类似的问题。
http://wenku.baidu.com/view/179cb419a8114431b90dd896.html###
package com.huawei.job.endual.que1.main;
class YueSheFuQuestion {
private int[] arrPosition; // 每个人的位置
private int[] arrSecret; // 每个人对应的密码
private int SECRET = 0; // 密码
public YueSheFuQuestion(int[] arrPosition, int[] arrSecret, int SECRET) {
this.arrPosition = arrPosition;
this.arrSecret = arrSecret;
this.SECRET = SECRET;
}
public void printPeople() {
int mCount = this.arrPosition.length; // 人的总数
System.out.println("mCount = " + mCount);
int curPeopleCount = mCount; // 当前人的数量
int curCount = 1; // 当前数字的位置
int curSecret = this.SECRET; // 当前的位置
int curPosotion = 0; // 当前人的位置,从第一个人数
while (curPeopleCount != 0) {// 当前的数目只有一个人的时候,就停止
if (arrPosition[curPosotion] == -1) { // 这个人已经出局的
curPosotion = curPosotion + 1; // 当前人的位置加1
if (curPosotion == mCount) { // 如果当前人的位置数量大于了人的总是,那么就循环了
curPosotion = 0; // 从第一人开始了
}
//curCount = curCount + 1; // 当前报数添加一个
}
else { // 没有出局的
if (curCount == curSecret) { // 当前数数是否等于当前的密码
System.out.print("Position-->"
+ arrPosition[curPosotion] + "||"); // 打印出当前的位置
curSecret = arrSecret[curPosotion]; // 把密码赋值给当前的密码
arrPosition[curPosotion] = -1; // 当前的位置出局
curPeopleCount--; // 当前的数目要减去一个
curPosotion = curPosotion + 1; // 当前人的位置加1
if (curPosotion == mCount) { // 如果当前人的位置数量大于了人的总是,那么就循环了
curPosotion = 0; // 从第一人开始了
}
curCount = 1; // 从1开始了数了
} else { // 如果是不相等的
curPosotion = curPosotion + 1; // 当前人的位置加1
if (curPosotion == mCount) { // 如果当前人的位置数量大于了人的总是,那么就循环了
curPosotion = 0; // 从第一人开始了
}
curCount = curCount + 1; // 当前报数添加一个
} // end else2
} // end else1
} // end while
} // end printPeople
} // end class
package com.huawei.job.endual.que1.main;
public class MainRun {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int mCount = 7 ;
int[] arrPosition = new int[7] ;
int[] arrSecret = new int[7] ;
for (int i=0; i < mCount; i++) {
arrPosition[i] = i+1 ;
System.out.print(arrPosition[i] + "||");
}
System.out.println("----");
for (int i=0; i < mCount; i++) {
int random = (int)(Math.random()*100) ;
arrSecret[i] = random ;
System.out.print(arrSecret[i] + "||");
}
System.out.println("----");
int secret = (int)(Math.random()*1000) ;
System.out.println("secret=" + secret);
//arrPosition = [] ;
//int[] arrSecretx = {3,1,7,2,4,8,4} ;
//secret = 20 ;
YueSheFuQuestion yQue = new YueSheFuQuestion(arrPosition,arrSecret,secret) ;
yQue.printPeople() ;
}
}
效率很不高,但是应付笔试完全没有问题了
分享到:
相关推荐
约舍夫问题,c语言描述,配严蔚敏老师数据结构(c语言版)
个人项目“塞多纳” 学生: 。 导师: 。 请注意,您的源文件文件夹为source/ 。 有用的文件: 变更指南。 不要删除或注意文件: .editorconfig , .gitattributes , .gitignore , .stylelintrc , .travis.yml ,...
c语言源程序,约舍夫。欢迎大家指点。如果有什么问题,请大家指出,或是一起讨论。谢谢。
舍夫德大学的这个项目,"Distruberade",显然是针对这一领域的研究与实践,旨在教授和探索如何构建高效、可靠且可扩展的分布式系统。在这个项目中,主要涉及的知识点包括但不限于以下几个方面: 1. **分布式系统...
舍夫科奇设计系统 该存储库包含Chefkoch设计系统(DSY)。 它的模式和文档是使用构建的。 展示柜: : 内容 安装及使用 使用Docker维护设计系统 docker run --rm -v $(pwd):/app -w="/app" node npm install|...
其他功能:-它仅显示科索沃,阿尔巴尼亚,什库普和普雷舍夫的祈祷时间,乌尔沁。 -祈祷的时候通知用户。 -务必显示下一个祈祷时间。 -显示下一次祈祷的倒数。 -在线/离线工作。 Takvimi Sotshërbenpërshfaqjen ...
该教材分为两卷,涵盖了金融数学中的核心理论与实践问题,特别是随机过程在金融模型中的应用。 #### 描述解析 描述部分明确指出这是一个针对斯特文·舍夫编写的两卷本《随机微积分在金融中的应用》的解决方案手册。...
特点:-它仅显示科索沃,阿尔巴尼亚,什库普,普雷舍夫,乌尔钦的祈祷时间。 -在祈祷时间通知用户。 -总是显示下一个祈祷时间。 -显示下一次祈祷的倒数。 -允许用户更改通知和位置的设置-在线/离线工作。 Takvimi So...
- **1927年前后**:俄国科学家奥列弗·拉基洛舍夫(Oleg Losev)独立制造了世界上第一颗LED,并在多个科学期刊上发表了研究成果,但未受到重视。 - **1955年**:美国无线电公司(RCA)的科学家鲁宾·布朗斯坦(Rubin ...
别吉舍夫 名 丹尼斯 团体 # BS17-DS-02 [] 教师 1 2 3 4 [X] 伊诺波利斯 {要求 你需要: 一个帐户 一个终端(如果你使用 Window$) :light_bulb: 在终端中尝试以下命令来检查您的git环境: git config --global -l ...
贾斯汀·舍夫 (jschoeff81690) 胡安·希门尼斯 (juandi007) 理查德·马修斯 (idkyoutellme) 泰勒芬克 (tfink419) ###测试笔记 当您运行 grunt 测试时, grunt 必须正在运行该应用程序 ###Class Files 软件工程...
舍夫特 基于riot&express的riot同构框架 特色 JS快速渲染 SEO友好 支持html5 pushState 如果IE <10,则支持hashchange 支持IE9 + npm install npm run watch 提示:用户名/密码为admin / admin 笔记 图书馆 ...
在音频处理领域,回声是常见的问题,尤其是在录音或在线通信中。回声可能是由房间内的反射声波或不理想的音频设备引起的。本项目聚焦于使用MATLAB进行FIR(有限 impulse response)滤波器的设计,以有效地去除音频...
旧读者通知程序WebExtension 该扩展程序将仅显示一个图标,该图标使您可以直接从工具栏访问“旧阅读器”( )。... 亚历山大·卡舍夫 瓦西里(Vasilij Melnychuk) 米哈尔·斯坦克(Michal Stanke)
作者:德米特里·巴里舍夫(Dmitry Baryshev) Mac补丁:以色列Lins Albuquerque 建造要求 Qt> = 4,建议使用Qt5 MSVC或MinGW 许可说明 QssEditor在GNU GPLv3 +下(请参阅LICENSE.txt) QScintilla部件在GNU GPL...
图像分类演示这是一个演示项目,目的是证明使用Apple的框架向应用程序添加基本机器学习是简单而有趣的。 由于它是作为概念证明而编写的,因此请注意在几个...作者贾里尔·阿克巴舍夫-执照此项目已获得MIT许可证的许可
一些空间数据分析项目马特·马利舍夫(Matt Malishev) 版本: R 3.5.0 RStudio 1.1.453 文件扩展名: .R .md .html30天地图挑战2020年11月#30dayMapChallenge的地图条目。第一天-积分使用Mapbox Studio和R在世界上...