`
jythoner
  • 浏览: 608079 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java每日一题23

阅读更多
来个数学性强的,c语言书中找到的

有13个人围成一圈,从第一个人开始顺序报号1、2、3。凡是报3的退出圈子,找出最后留在圈子中的人原来序号。

9
3
分享到:
评论
29 楼 javaboy2006 2009-03-13  
#include "stdio.h"
#include "stdlib.h"

void main()
{
  char players[20][20]; 
  int isOut[20];
  int i;
  int count=0;
  int num;
  int start;
  int flag=0;
  int outNum=0;

  printf("请输入参加出圈游戏人员名单:\n");
  for(i=0;i<20;i++)
  {
	  printf("第%d位:",i+1);
	  scanf("%s",players[i]);
	  if(players[i][0]=='!')
		  break;
	  count++;

  } 
    printf("请输入出圈数字:");
	scanf("%d",&num);
	printf("请输入起始位置:");
	scanf("%d",&start);
	printf("共有%d人参加, 出圈数字是:%d, 起始位置是(%d):%s\n",count,num,start,players[--start]);
    printf("开始游戏…\n");
	for(i=0;i<20;i++)
	{
		isOut[i]=1;
	}
	
      	
		   do
		   {
			   if(start==count)     // 如果循环一周则从零开始!
			       start=0;

				if(isOut[start]!=0)    //检测是否出圈,否则
					flag++;
				if(flag==num)
				{
					isOut[start]=0;
					printf("%s 出圈\n",players[start]);
					outNum++;
					flag=0;
				}
				start++;
					
		   }while(outNum<count);
	  
}
28 楼 tobeno1 2009-03-10  
tobeno1 写道

zhangsatanyang 写道来个更简单的 C代码 &amp;nbsp;&amp;nbsp;#include&amp;nbsp;&amp;lt;iostream&amp;gt;&amp;nbsp;&amp;nbsp;using&amp;nbsp;namespace&amp;nbsp;std;&amp;nbsp;&amp;nbsp;int&amp;nbsp;main()&amp;nbsp;&amp;nbsp;{&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;r;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;r=0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for(int&amp;nbsp;i=2;&amp;nbsp;i&amp;lt;=13;&amp;nbsp;++i)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;r=(r+3)%i;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cout&amp;lt;&amp;lt;"Result&amp;nbsp;is&amp;nbsp;"&amp;lt;&amp;lt;r+1&amp;lt;&amp;lt;endl;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&nbsp; #include &amp;lt;iostream&amp;gt;using namespace std;int main(){&nbsp; int r;&nbsp; r=0;&nbsp; for(int i=2; i&amp;lt;=13; ++i)&nbsp;&nbsp;&nbsp; r=(r+3)%i;&nbsp; cout&amp;lt;&amp;lt;"Result is "&amp;lt;&amp;lt;r+1&amp;lt;&amp;lt;endl;}C的能够解释下么?


JAVAEYE引用后出这么多空格代码的bug怎么没有人改过来捏?
27 楼 tobeno1 2009-03-10  
zhangsatanyang 写道

来个更简单的 C代码 &nbsp;&nbsp;#include&nbsp;&lt;iostream&gt;&nbsp;&nbsp;using&nbsp;namespace&nbsp;std;&nbsp;&nbsp;int&nbsp;main()&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;r;&nbsp;&nbsp;&nbsp;&nbsp;r=0;&nbsp;&nbsp;&nbsp;&nbsp;for(int&nbsp;i=2;&nbsp;i&lt;=13;&nbsp;++i)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r=(r+3)%i;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"Result&nbsp;is&nbsp;"&lt;&lt;r+1&lt;&lt;endl;&nbsp;&nbsp;}&nbsp;&nbsp;  #include &lt;iostream&gt;
using namespace std;
int main()
{
  int r;
  r=0;
  for(int i=2; i&lt;=13; ++i)
    r=(r+3)%i;
  cout&lt;&lt;"Result is "&lt;&lt;r+1&lt;&lt;endl;
}


C的能够解释下么?
26 楼 zhangsatanyang 2009-03-09  
来个更简单的

  #include <iostream>
using namespace std;
int main()
{
  int r;
  r=0;
  for(int i=2; i<=13; ++i)
    r=(r+3)%i;
  cout<<"Result is "<<r+1<<endl;
}
25 楼 zhangsatanyang 2009-03-09  
package arithmetic;

import java.util.ArrayList;
import java.util.List;

/**
 * @author satan 有13个人围成一圈,从第一个人开始顺序报号1、2、3。凡是报3的退出圈子,找出最后留在圈子中的人原来序号。
 */
public class QueryTheNumber {

	private List<Integer> initList = new ArrayList<Integer>();
	private int result;
	private final static int NUMBER = 14;

	private void init() {
		for (int i = 1; i < NUMBER; i++) {
			initList.add(i);
		}
	}

	private int play(List<Integer> list, int count) {
		List<Integer> modifiedList = null;
		if (list.size() == 1) {
			result = list.get(0);
			return result;
		} else {
			modifiedList = new ArrayList<Integer>();
			for (int i : list) {
				count++;
				if (count == 3) {
					count = 0;
				} else {
					modifiedList.add(i);
				}
			}
			play(modifiedList, count);
		}
		return -1;
	}

	public static void main(String[] args) {
		int count = 0;
		QueryTheNumber main = new QueryTheNumber();
		main.init();
		main.play(main.initList, count);
		System.out.println("the last person's original number is:" + main.result);
	}
}


24 楼 ogg0201 2009-03-09  
import java.util.Scanner;  
  
public class QuiteThree {  
  
    public static void main(String[] args) {  
        System.out.print("Input a number: ");  
        Scanner scanner = new Scanner(System.in);  
        int n = scanner.nextInt();  
        System.out.println("There are "+n+" persons!");  
        int i,k=0,m=0;  
        int person[] = new int[n];  
        for(i=0;i<n;i++){  
            person[i]=i+1;  
        }  
        i=0;  
        while(m<n-1){  
            if(person[i]!=0)k++;  
            if(k==3){  
                person[i]=0;  
                k=0;  
                m++;  
            }  
            i++;              
            if(i==n)i=0;  
        }  
        while(person[i]==0)i++;  
        System.out.print("The last one is NO."+person[i]+"!");  
    }  
  
}  

不错!
23 楼 wajmy 2009-03-09  

做得可能罗嗦了一点 。呵呵 第一次上交 多鼓励一下 谢谢!
tobeno1 写道

wajmy 写道
做得可能罗嗦了一点 。呵呵 第一次上交 多鼓励一下 谢谢! 呵呵,这位大哥,你的代码好像不能实现啊

应该没有问题啊 什么地方有问题?
22 楼 ccjsjymg 2009-03-08  
ccjsjymg 写道

对于songjiang 所写的代码,有问题:今日有空,自己写了一下:


Java代码

public&nbsp;class&nbsp;QuiteThree&nbsp;{&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;public&nbsp;int[]&nbsp;initArray(int&nbsp;count){ &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int[]&nbsp;person&nbsp;=&nbsp;new&nbsp;int[count]; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int&nbsp;i&nbsp;=&nbsp;0;i&nbsp;&lt;person.length;i++){ &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;person[i]&nbsp;=&nbsp;i+1; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;person; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;public&nbsp;int&nbsp;getLastPerson(int&nbsp;c){ &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int[]&nbsp;t&nbsp;=&nbsp;initArray(c); &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;k&nbsp;=&nbsp;0; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;flag&nbsp;=&nbsp;-1; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;count&nbsp;=&nbsp;0; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;last&nbsp;=&nbsp;0; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int&nbsp;i&nbsp;=&nbsp;0;i&nbsp;&lt;&nbsp;t.length;i++){ &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(t[i]&nbsp;==&nbsp;flag){ &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k++; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(k&nbsp;==&nbsp;3){ &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(t[i]); &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t[i]&nbsp;=&nbsp;flag; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count++; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k&nbsp;=&nbsp;0; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(t.length&nbsp;-count&nbsp;==&nbsp;1){ &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{ &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(i&nbsp;==&nbsp;t.length&nbsp;-1){ &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;=&nbsp;-1; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int&nbsp;i&nbsp;=&nbsp;0;i&nbsp;&lt;&nbsp;t.length;i++){ &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(t[i]&nbsp;!=&nbsp;-1){ &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;last&nbsp;=&nbsp;t[i]; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;last; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;public&nbsp;static&nbsp;void&nbsp;main(String[]&nbsp;args)&nbsp;{ &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;QuiteThree&nbsp;qt&nbsp;=&nbsp;new&nbsp;QuiteThree(); &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("最后一个留在圈子的人:"+qt.getLastPerson(13)); &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp;
}&nbsp;&nbsp;&nbsp;&nbsp;public class QuiteThree {  

   public int[] initArray(int count){
   int[] person = new int[count];
   for(int i = 0;i &lt;person.length;i++){
   person[i] = i+1;
   }
   return person;
   }
   public int getLastPerson(int c){
   int[] t = initArray(c);
   int k = 0;
   int flag = -1;
   int count = 0;
   int last = 0;
   for(int i = 0;i &lt; t.length;i++){
   if(t[i] == flag){
   continue;
   }
   k++;
   if(k == 3){
   System.out.println(t[i]);
   t[i] = flag;
   count++;
   k = 0;
   }
   if(t.length -count == 1){
   break;
   }else{
   if(t.length % 3 != 0){
   if(i == t.length -1){
   i = -1; 
   }
   }else{
   i = 0;
   }    }
   }
  for(int i = 0;i &lt; t.length;i++){
  if(t[i] != -1){
  last = t[i];
  }
  }
   return last;
   }
   public static void main(String[] args) {
   QuiteThree qt = new QuiteThree();
   System.out.println("最后一个留在圈子的人:"+qt.getLastPerson(13));
   }
 



21 楼 ccjsjymg 2009-03-08  
对于songjiang 所写的代码,有问题:今日有空,自己写了一下:
public class QuiteThree {   
	 
   public int[] initArray(int count){
	   int[] person = new int[count];
	   for(int i = 0;i <person.length;i++){
		   person[i] = i+1;
	   }
	   return person;
   }
   public int getLastPerson(int c){
	   int[] t = initArray(c);
	   int k = 0;
	   int flag = -1;
	   int count = 0;
	   int last = 0;
	   for(int i = 0;i < t.length;i++){
		   if(t[i] == flag){
			   continue;
		   }
		   k++;
		   if(k == 3){
			   System.out.println(t[i]);
			   t[i] = flag;
			   count++;
			   k = 0;
		   }
		   if(t.length -count == 1){
			   break;
		   }else{
			   if(i == t.length -1){
				   i = -1;
			   }
		   }
	   }
	  for(int i = 0;i < t.length;i++){
		  if(t[i] != -1){
			  last = t[i];
		  }
	  }
	   return last;
   }
   public static void main(String[] args) {
	   QuiteThree qt = new QuiteThree();
	   System.out.println("最后一个留在圈子的人:"+qt.getLastPerson(13));
   }
  
}  
20 楼 panjunfang 2009-03-07  
songjiang 写道



Java代码

import&nbsp;java.util.Scanner; &nbsp;&nbsp;
&nbsp;&nbsp;
public&nbsp;class&nbsp;QuiteThree&nbsp;{ &nbsp;&nbsp;
&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;static&nbsp;void&nbsp;main(String[]&nbsp;args)&nbsp;{ &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.print("Input&nbsp;a&nbsp;number:&nbsp;"); &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Scanner&nbsp;scanner&nbsp;=&nbsp;new&nbsp;Scanner(System.in); &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;n&nbsp;=&nbsp;scanner.nextInt(); &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("There&nbsp;are&nbsp;"+n+"&nbsp;persons!"); &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;i,k=0,m=0; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;person[]&nbsp;=&nbsp;new&nbsp;int[n]; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(i=0;i&lt;n;i++){ &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;person[i]=i+1; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i=0; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(m&lt;n-1){ &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(person[i]!=0)k++; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(k==3){ &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;person[i]=0; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k=0; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m++; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i++;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(i==n)i=0; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(person[i]==0)i++; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.print("The&nbsp;last&nbsp;one&nbsp;is&nbsp;NO."+person[i]+"!"); &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;
&nbsp;&nbsp;
}&nbsp;&nbsp;import java.util.Scanner;

public class QuiteThree {

   public static void main(String[] args) {
   System.out.print("Input a number: ");
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
System.out.println("There are "+n+" persons!");
   int i,k=0,m=0;
int person[] = new int[n];
for(i=0;i&lt;n;i++){
person[i]=i+1;
}
i=0;
while(m&lt;n-1){
if(person[i]!=0)k++;
if(k==3){
person[i]=0;
k=0;
m++;
}
i++;
if(i==n)i=0;
}
while(person[i]==0)i++;
System.out.print("The last one is NO."+person[i]+"!");
}

}



更正:
public class QuiteThree {

   public static void main(String[] args) {
   System.out.print("Input a number: ");
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
System.out.println("There are "+n+" persons!");
   int i,k=0,m=0;
int person[] = new int[n];
for(i=0;i&lt;n;i++){
person[i]=i+1;
}
i=0;
while(m&lt;n-1){
if(person[i]!=0)k++;
if(k==3){
person[i]=0;
k=0;
m++;
}
i++;
if(i==n)i=0;
}
                  i = 0;
while(person[i]==0)i++;
System.out.print("The last one is NO."+person[i]+"!");
}

}
19 楼 zhuyongjun 2009-03-07  
public class QuiteThree {  
 
    public static void main(String[] args) {  
         QuiteThree qt = new QuiteThree();
         List l = new ArrayList();
int k = 13;
int n = 3;
for(int i = 1;i <= k;i++)
{
l.add(i+"");
}
l = st.validThree(k, n, l);
for(int j = 0;j < l.size();j++)
{
System.out.println(l.get(j));
}
    }  
    public List validThree(int max,int n,List l)
{
if(max < n)
return l;
int k = 1;
for(int i = 1;i <= max;i++)
{
if(i%n == 0)
{
l.remove(i-k);
k++;
}
}
int w = max%n;
for(int s = w;s > 0;s--)
{
String v = l.get(l.size()-s).toString();
l.remove(l.size()-s);
l.add(w-s, v);
}
this.validThree(l.size(),n,l);
return l;
}

18 楼 jijuxie678 2009-03-07  
	private static void math(){
		//定一个数组,
		int[] peoples = new int[13];
		for(int i=1;i<14;i++){
			peoples[i-1]=i;
		}
		
		//outCount记录淘汰的人数
		int outCount=0;
		//point当数组的指针
		int point=0;
		//index当实际人数得指针
		int index=0;
		
		for(int i=1;true;i++){
			if(point >= 12)point=0;
			point++;
			//如果等于0说明这个人已经出局
			if(peoples[point]==0){
				continue;
			}
			index++;
			if(index%3==0){
				peoples[point] = 0;
				outCount++;
			}
			//如果outCount>10,也就是剩余得人少于3个,所以推出
			if(outCount > 10) break;
		}
		System.out.println("剩余的人的原来序号:");
		for(int i=1;i<14;i++){
			if(peoples[i-1] != 0)System.out.println(i);
		}
	}
17 楼 night_stalker 2009-03-07  
风宇兮 写道

看不懂!!!!!!!!!


加点注释:
#pp就是屁屁
require 'pp'

#用一个hash来制造循环链表,i:报数计数,p:9527你们都是9527
a = {}
(1..13).each{|e|a[e] = e + 1}
i = p = a[13] = 1

#亚军也得颁个奖吧,所以size == 2就停了
while a.size > 2  
  if(2 == i % 3)
    #to下家:我知道你要报3,你不用报了,out!
    n = a[p] 
    a[p] = a[n]
    a.delete n
    #正如上面所说,pp就是屁屁
    pp a.keys  
  else
    #恭喜你,pass!下一位!
    p = a[p]
  end
  i += 1
end  
16 楼 风宇兮 2009-03-07  
night_stalker 写道

路过……Ruby来串门了


Ruby代码

require&nbsp;'pp'&nbsp;&nbsp;
a&nbsp;=&nbsp;{} &nbsp;&nbsp;
(1..13).each{|e|a[e]&nbsp;=&nbsp;e&nbsp;+&nbsp;1} &nbsp;&nbsp;
i&nbsp;=&nbsp;p&nbsp;=&nbsp;a[13]&nbsp;=&nbsp;1 &nbsp;&nbsp;
while&nbsp;a.size&nbsp;&gt;&nbsp;2 &nbsp;&nbsp;
&nbsp;&nbsp;if(2&nbsp;==&nbsp;i&nbsp;%&nbsp;3) &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;n&nbsp;=&nbsp;a[p] &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;a[p]&nbsp;=&nbsp;a[n] &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;a.delete&nbsp;n &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;pp&nbsp;a.keys &nbsp;&nbsp;
&nbsp;&nbsp;else&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;=&nbsp;a[p] &nbsp;&nbsp;
&nbsp;&nbsp;end&nbsp;&nbsp;
&nbsp;&nbsp;i&nbsp;+=&nbsp;1 &nbsp;&nbsp;
end&nbsp;&nbsp;require 'pp'
a = {}
(1..13).each{|e|a[e] = e + 1}
i = p = a[13] = 1
while a.size &gt; 2
  if(2 == i % 3)
    n = a[p]
    a[p] = a[n]
    a.delete n
    pp a.keys
  else
    p = a[p]
  end
  i += 1
end


  看不懂!!!!!!!!!
15 楼 bleet 2009-03-07  
我猜猜 1
14 楼 ccjsjymg 2009-03-07  
songjiang 写道



Java代码

import&nbsp;java.util.Scanner; &nbsp;&nbsp;
&nbsp;&nbsp;
public&nbsp;class&nbsp;QuiteThree&nbsp;{ &nbsp;&nbsp;
&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;static&nbsp;void&nbsp;main(String[]&nbsp;args)&nbsp;{ &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.print("Input&nbsp;a&nbsp;number:&nbsp;"); &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Scanner&nbsp;scanner&nbsp;=&nbsp;new&nbsp;Scanner(System.in); &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;n&nbsp;=&nbsp;scanner.nextInt(); &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("There&nbsp;are&nbsp;"+n+"&nbsp;persons!"); &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;i,k=0,m=0; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;person[]&nbsp;=&nbsp;new&nbsp;int[n]; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(i=0;i&lt;n;i++){ &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;person[i]=i+1; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i=0; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(m&lt;n-1){ &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(person[i]!=0)k++; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(k==3){ &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;person[i]=0; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k=0; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m++; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i++;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(i==n)i=0; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(person[i]==0)i++; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.print("The&nbsp;last&nbsp;one&nbsp;is&nbsp;NO."+person[i]+"!"); &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;
&nbsp;&nbsp;
}&nbsp;&nbsp;import java.util.Scanner;

public class QuiteThree {

   public static void main(String[] args) {
   System.out.print("Input a number: ");
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
System.out.println("There are "+n+" persons!");
   int i,k=0,m=0;
int person[] = new int[n];
for(i=0;i&lt;n;i++){
person[i]=i+1;
}
i=0;
while(m&lt;n-1){
if(person[i]!=0)k++;
if(k==3){
person[i]=0;
k=0;
m++;
}
i++;
if(i==n)i=0;
}
while(person[i]==0)i++;
System.out.print("The last one is NO."+person[i]+"!");
}

}



好像有点问题哈。。。。。。。
13 楼 night_stalker 2009-03-07  
路过……Ruby来串门了
require 'pp'
a = {}
(1..13).each{|e|a[e] = e + 1}
i = p = a[13] = 1
while a.size > 2
  if(2 == i % 3)
    n = a[p]
    a[p] = a[n]
    a.delete n
    pp a.keys
  else
    p = a[p]
  end
  i += 1
end
12 楼 xiangjie256 2009-03-06  
期待还有下一题
11 楼 tobeno1 2009-03-06  
wajmy 写道

做得可能罗嗦了一点 。呵呵 第一次上交 多鼓励一下 谢谢!


呵呵,这位大哥,你的代码好像不能实现啊
10 楼 tobeno1 2009-03-06  
我晕,怎么提交代码啊?

相关推荐

    JAVA每日一题20

    【标题】"JAVA每日一题20"是一个关于Java编程的挑战题目,旨在提升开发者对Java语言的理解和应用能力。通常这类题目会涉及到Java的核心概念、语法特性或者常见问题的解决策略。 【描述】虽然描述部分为空,但根据...

    Java每日一题20160906

    Java每日一题20160906,每日一道Java编程题,提高自己

    JAVA每日一题11

    【标题】"JAVA每日一题11"是一个关于Java编程的日常练习问题,可能是从某个技术社区或博客中提取的。通常,这类题目旨在帮助开发者巩固基础,提升技能,或者探讨一些特定的Java编程概念。从提供的信息来看,我们无法...

    Java每日一题24(最后一题)

    NULL 博文链接:https://jythoner.iteye.com/blog/344407

    JAVA每日一题08

    标题“JAVA每日一题08”暗示我们今天将探讨与Java编程语言相关的技术问题,可能是某个挑战或难题的解决方案。由于没有提供具体的题目内容,我们可以从更广泛的Java知识角度出发,结合“源码”和“工具”这两个标签来...

    java每日一练练习

    根据给定的信息,我们可以归纳出以下几个关键的Java知识点: ### 1. 在屏幕上输出文本 ...这些练习题覆盖了Java语言的基础语法、控制结构以及面向对象编程的基本概念,非常适合初学者进行日常练习。

    每日一题20190628_java面试题_

    【标题】:“每日一题20190628_java面试题_”是指一个针对Java程序员的面试问题集合,可能包含各种Java编程语言、框架、设计模式以及系统架构等相关问题,旨在帮助求职者准备面试。 【描述】:“java面试题,参考...

    Java面试题-每日一题:String、StringBuffer、StringBuilder的区别

    Java面试题-每日一题:String、StringBuffer、StringBuilder的区别

    每日一题Java方向编程题答案day011

    在给定的编程题中,我们需要判断一个字符串是否为回文串。回文串是指正读反读都一样的字符串,例如"madam"或"level"。Java中,我们可以利用String类提供的方法来实现回文串的判断。解题思路是使用两个指针,一个从...

    每日一题Java方向选择题答案day011

    题目中给出了一个类A及其成员变量和方法的定义,询问了哪些调用是错误的,这涉及到对Java成员访问规则的理解。 以上知识点涵盖了Java多线程、序列化、面向对象设计、变量存储、类型转换、运算符优先级、方法存储、...

    Java方向每日一题day17_11月24日编程题答案1

    "Java方向每日一题day17_11月24日编程题答案1" 在本题中,我们需要解决一个火车进站的问题,给定n辆火车的编号,要求计算出所有可能的出站顺序。该问题可以使用栈来解决,因为栈的出栈顺序满足后进先出(Last In ...

    java方向每日一题day17_11月24日选择题答案1

    在题目中,有几道关于Java语言特性和语法的单选题: 1. 类实例化语句的正确选项是D。 2. 描述错误的Java语言特点选项是C,因为Java是面向对象的语言,而非面向过程。 3. 编译并运行给定的代码`public class Pvf{ ...

    基于LeetCode每日一题的Java编程语言设计源码分享

    本项目为LeetCode每日一题的Java编程语言解答源码,总计包含223个文件,包括202个Java源文件、7个Markdown文件、6个JSON文件、4个JAR包文件以及少量其他类型文件。这些源码旨在帮助开发者通过实践解决LeetCode上的...

    Java方向每日一题day18_11月25日编程题答案1

    【Java编程题解析】 在Java编程中,我们经常会遇到各种挑战性的题目,旨在提升我们的编程能力和算法思维。这里有两个不同的编程题目,让我们一一解析。 ### 题目1:DNA序列链接 - 找到GC比例最大的子串 #### 题目...

    Java方向每日一题day18_11月25日选择题答案1

    Java是一种面向对象的编程语言,其核心特性之一就是封装,这是OOP(面向对象编程)的三大特性之一,另外两个是继承和多态。封装的主要目的是保护数据的安全性,通过限制对类内部成员的直接访问,防止外部代码随意...

    java互联网面试题整理

    整理互联网常见面试题,为春招、校招和社招做准备。如若不能下载,关注公众号“每日技术分享”,可免费下载资源。

    2020年java常见面试题汇总%28附答案%29.pdf

    干货资源推荐: JVM干货调试视频教程分享 50份优秀Java求职者简历 SpringCloud前后端分离实战项目...本资源整理自互联网,仅供学习交流使用,请勿商用,坚持每日分享一套Java学习资源干货,一起提高,一起进步!!!

    leetcode每日一题总结.zip

    LeetCode的每日一题是平台上的一个特色功能,每天会发布一个新的编程题目,涵盖各种难度级别,从基础到进阶,涉及语言包括Java、Python、C++等。这些题目涵盖了数据结构(如数组、链表、栈、队列、树、图等)和算法...

    java面试题大全-葵花宝典 - 图形图像 - 道客巴巴

    【Java面试题大全-图形图像篇】 在Java面试中,图形图像处理是一个常见的技术领域,涉及到Java AWT(Abstract Window Toolkit)和Swing组件库,以及更高级的JavaFX。这些框架提供了创建用户界面和图形内容的能力。...

    leetcode-java:每日一题leetcode-java版

    本项目"leetcode-java:每日一题leetcode-java版"是针对LeetCode平台的Java解决方案集,旨在帮助Java开发者通过每日解决一个LeetCode题目来提高他们的算法理解和编程能力。 在Java编程语言中,解决问题的关键在于...

Global site tag (gtag.js) - Google Analytics