计算一个循环,小弟不懂,大侠们进来帮帮忙!

问题描述

6.有100个人围成一个圈(编号0-99),从第0号的人开始从1报数,凡报到3的倍数的人离开圈子,然后再数下去,直到最后只剩一个人为止,问此人原来的位置是多少号?(最好在有些重要的语句的时候附上点注释,谢啦!)

解决方案

解决方案二:
小弟在线等!
解决方案三:
publicstaticvoidmain(String[]args){//初始化0-99个人List<Integer>personList=newLinkedList<Integer>();for(inti=0;i<99;i++){personList.add(i);}//从1报数直到只有一个人intcounter=1;intindex=0;while(personList.size()>1){//如果超出链表最后回到链表开始if(index==personList.size()){index=0;}if(counter%3==0){personList.remove(index);}else{index++;}counter++;}System.out.println(personList);}

解决方案四:
Listlist=newArrayList();publicstaticvoidmain(string[]args){init();System.out.println(countOff(list).get(0));}//初始化publicvoidinit(){for(inti=0;i<100;i++)list.add(i);}//递归publicListcountOff(Listlist){if(list.size()<3)returnlist;//小于3人,返回for(inti=0;i<list.size();i++){if((i+1)%3==0)list.removeAt(i);//循环删除}returncountOff(list);//继续下一轮}

解决方案五:
publicstaticintlastValue(Listlist,intn){while(true){if(list.size()==1)break;for(inti=0;i<n-1;i++){list.add(list.remove(0));}list.remove(0);}return(Integer)list.get(0);}

解决方案六:
有点问题,应该是100:publicstaticvoidmain(String[]args){//初始化0-99个人List<Integer>personList=newLinkedList<Integer>();for(inti=0;i<100;i++){personList.add(i);}//从1报数直到只有一个人intcounter=1;intindex=0;while(personList.size()>1){//如果超出链表最后回到链表开始if(index==personList.size()){index=0;}if(counter%3==0){personList.remove(index);}else{index++;}counter++;}System.out.println(personList);}

解决方案七:
题目有误怎么可能是只有一个人奇数为3最少有2个人留下来的
解决方案八:
引用6楼wyq2318032的回复:

题目有误怎么可能是只有一个人奇数为3最少有2个人留下来的

这个没有问题。。。你理解有误。。假如只剩下2个人第一个人喊了1第二个人喊了2接着就是第一个人喊3那么他出去那么就剩下第二个人了。
解决方案九:
+引用6楼wyq2318032的回复:

题目有误怎么可能是只有一个人奇数为3最少有2个人留下来的

解决方案十:
importjava.util.LinkedList;/***1、循环递归调用的效率是很低的*2、list增删的效率是很低的*为了便于维护,一定要抽象成现实的对象和现有的逻辑。*@authorSugar.Tan*/publicclassPeapleArrayTest{publicstaticvoidmain(String[]args){//一个链表,用于装peaple.LinkedListllPeaple=newLinkedList();intiCallingNumber=0;//报数号intiPoint=-1;//指针,指向正在报数的人;注意链表的索引是从0开始的。PeaplepCallingPeaple=null;//正在报数的那个人//init初使化链表,装进100个人for(inti=0;i<100;i++){llPeaple.addLast(newPeaple(i));}//从0号开始报数pCallingPeaple=(Peaple)llPeaple.getFirst();while(llPeaple.size()>1){iPoint++;iCallingNumber++;if(iCallingNumber%3==0){llPeaple.remove(iPoint);//到3的倍数的人离开圈子iPoint--;}//如果到链表最后一个元素,指针指回链表的第一个元素之前。if(iPoint==llPeaple.size()-1){iPoint=-1;}}//endwhileSystem.out.print("此人原来的位置是");System.out.print(((Peaple)llPeaple.get(0)).getINumber());System.out.print("号");}}//一个普通的JavaBeanclassPeaple{privateintiNumber;//构造函数publicPeaple(intiNumber){this.iNumber=iNumber;}//gettersandsettersmethodpublicintgetINumber(){returniNumber;}publicvoidsetINumber(intnumber){iNumber=number;}}
解决方案十一:
引用5楼blazingfire的回复:

有点问题,应该是100:Javacodepublicstaticvoidmain(String[]args){//初始化0-99个人List<Integer>personList=newLinkedList<Integer>();for(inti=0;i<100;i++){……

顶!

时间: 2024-10-24 10:13:56

计算一个循环,小弟不懂,大侠们进来帮帮忙!的相关文章

c++-设计一个简单的程序,有些不懂,希望大家帮帮忙

问题描述 设计一个简单的程序,有些不懂,希望大家帮帮忙 项目一:数据结构分析与实现.(线性表:实现循环曾链表的基本操作,就是插入,删除,合并)以报告形式写出 项目二实际问题的数据结构分析与实现.如图 编程软件:visualC++6.0 虽然我已编了一个,但觉得不好.可能力有限,希望帮忙.

jQuery大神进来小弟感激不尽都是猿帮帮忙吧

问题描述 jQuery大神进来小弟感激不尽都是猿帮帮忙吧 10C 怎样把这个翻书效果仿出来 或者下载 最好是源码!谢谢了 急急急!搜索盗墓笔记专题页: 解决方案 没打开网页,,,,,, 解决方案二: 用百度搜索盗墓笔记专题页! 解决方案三: http://www.iteye.com/news/26863

php-PHP新手问一个小问题,有时间前辈帮帮忙!小弟在此感激不尽!

问题描述 PHP新手问一个小问题,有时间前辈帮帮忙!小弟在此感激不尽! php写的一个简单提交数据代码没提示错误 但是数据库添加不进去 index.php代码如下: <?php require_once 'conn.php'; $id = $_POST[userid]; $name = $_POST[username]; $content = $_POST[content]; $sql = "insert into all(userid,name,content)values('$id',

工具-如何实现这样一个数据列表,请大神帮帮忙

问题描述 如何实现这样一个数据列表,请大神帮帮忙 各位大神,小弟最近需要弄个数据列表,具体需求是从数据库中查询数据生成表格,这个数据时一行一行的.表格生成之后需要按照某一列的单元格内容进行分组,分组之后的数据可以折叠展开以方便查看(类似excel中行组合). 取数我还勉强能弄,但是前端分组+折叠/展开的功能实在是不会弄(原谅我是个小白,弄不出来就要失业了).请问有什么好的思路或者是现成的工具可以实现这个需求? 解决方案 什么语言什么平台没有说,假设你要的是web的http://download.

dc-一个关于绘图的问题求大神进来帮帮忙

问题描述 一个关于绘图的问题求大神进来帮帮忙 CPaintDC dc(this); CBrush br,*oldbrush; br.CreateSolidBrush(RGB(155,155,155)); oldbrush = dc.SelectObject(&br); dc.Rectangle(10,10,100,100); dc.SelectObject(oldbrush); br.DeleteObject(); dc.TextOut(10,110,_T("单色刷子"));

服务器-【菜鸟求助】请进来帮帮忙weblogic11g的

问题描述 [菜鸟求助]请进来帮帮忙weblogic11g的 具体情况: 我的本地环境是weblogic8和JDK1.4,项目启动,运行都没问题,现在是把这个项目放到一个服务器上,服务器的环境是weblogic11g,JDK1.6,(至于为啥会这样,别在意这些细节了)启动运行也没问题,但是当跳转到,调用FileY,这个类的页面时候,就会报下面的错 [ServletContext@3843485[app:sdywxt module:sdywxt path: spec-version:null]] S

算法-c++的一个简单的实现 求大神帮帮忙

问题描述 c++的一个简单的实现 求大神帮帮忙 1. 定义一个普通帐户类Account,成员变量包括:string型的m_acctNo(账号)和m_acctPass(取款密码),double型的m_balance(余额).成员函数包括构造函数,取款WithDraw(double m).存款Deposit(double m).修改密码ChangePass()和显示帐户信息Display(). 以Account类做基类,派生出信用卡类Credit,新增成员变量m_overDraft,表示信用卡透支额

微信支付开发的问题,做过的朋友进来帮帮忙

问题描述 微信支付开发的问题,做过的朋友进来帮帮忙 开发微信支付,遇到点问题,测试的第一笔订单可以正常调起微信支付输密码的(没有实际支付),然后购买别的商品,通通都提示商户订单号重复,实际我看代码是不可能重复的,我现在还把订单号给打出来了,页面显示的也是没有重复的,求高手解救啊,下面是代码 红框是我打印出来的订单号,看页面显示 这一笔是唯一一笔可以支付的,订单号142,再看其他的,就通通不能支付了 订单号143,下面的订单号144 请问到底是什么原因导致这个错误啊,帮帮忙啊,郁闷死我了

大侠们~关于帮帮忙连接SAP及其RFC函数的调用

问题描述 各位大侠.隐士高手帮帮忙啊小弟感激不尽.公司最近叫我callSAP,还要能UPDATA里面的数据(也就是能发送数据到SAPService和从SAPService传出数据)最好有C#的例子.谁能告诉我,RFC中的function.add()不同参数调用不同的方法的详细解释.还有".get_Exports()",".get_import()",".table()"的作用详细解释.还有填入他们里面的参数,分别代什么?传入参数和传出参数又是什么