求高手帮忙写个java程序。高手请进......急啊!!!

题目:假如有50个人列队站成一列。然后第一个人开始报数。依次为1,2,3,4......50。然后报数为3的倍数的人出列。剩下的人重新从1,2,3.....报数,报数为3的倍数的人出列。剩下的人重新报数。依次类推。问题:用java实现最后一个出列的人是原来50人中的第几个人(即第一次报数的数字)

第1个回答  2011-03-27
我日 最讨厌算法题.......看的我蛋疼...
第2个回答  2011-03-27
for(int i=1;i<50;i++){
int s=2;
if(i==3)
s++;
}
return s;
第3个回答  2011-03-27
package test;

public class testMain {

/**
* @param args
* @other
* @author Kevin
*/
private static int[] tempArr = new int[50];

public static void main(String[] args) {
count(tempArr);
}

private static void count(int[] arr) {
int k = 0;
int j = 0;
for (int i = 0; i < tempArr.length; i++) {
if (tempArr[i] == 0) {
k++;
if (k % 3 == 0) {
tempArr[i] = 1;
j = i;
}
}
}
int result = 0;
for (int i = 0; i < tempArr.length; i++) {
if (tempArr[i] == 0) {
result++;
}
}
if (result > 2) {
count(tempArr);
} else {
System.out.println("最后一个退出的是第" + j + "个人。");
}
}

最后输出的J要+1, 忘了。。。
}
第4个回答  2011-03-27
int[] a = {1,2,3...50};
public static void kill(a) {
int non-zeor-index = a.non-zeor;//找到第一个非0
int count = 0;
for (int i = non-zeor-index; i < a.lenght;i++) {
if (a[i] == 0){}; // 如果是0,下一个
else {
if( count % 3 == 0) {a[i] = 0; count = 0;}//如果第三个,抹去
else {count++;}//否则继续往后
}
}
kill (a);
}

当然这是最慢的方法,可以考虑直接继续按结果
对于一般的,有个给你参考,2个一杀的情况有
j(1)=1;
j(2n) = 2j(n)-1; n为偶数
j(2n+1) = 2j(n) + 1; n为奇数

请教Java高手一个“1+1!=2”的代码调试需求。
当然要影响,你只定义了一个全局变量i,只有重新定义局部变量i才会使全局变量在局部被屏蔽。稍微改一下,你定义一个j,就行了。int i = 1;int j = 0;double a = 1;double c = 0;while (i<=20){ j = i;\/\/下面这个循环出来结果都是a =1;你再改一下逻辑 while (j>0){ a =1;a=...

JAVA程序设计课程作业,请高手帮忙啊
5.AC 标识符命名规则:以英文字母或_$开头,包括英文字母,数字_$,不能是Java保留关键字 6.AC 父类接受子类对象,自动完成类型转换,这叫安全的向上转型 7.BC 系统给引用类型赋的初值都是NULL而String是一个引用类型 8.BCD 基本概念 9.BCD 方法的名字和方法参数合起来叫做:方法标签,方法由...

请java高手帮忙,解决一个难题呀?心急呀!
1. “文字排版” ,这年头连网上的H*小说如果不好好排版都没人看的,更何况是一堆代码和逻辑请很强的文字呢?2.“语言及文字表达”,在你上面所提的问题中我无法清晰的看出你的问题是什么?在你的内容中首先你表达了求助的意思,然后应该是粘贴了一份其他其他来源的资料,在这两段之间最好有个...

JAVA题,高手帮忙,谢谢
第一题 利用ASCII码,设置一个数值变量,随机生成八个二十六个英文字母的ASCII码,注意要检测是否有重复,大小写差32自己搞定,然后设置元音数组辅音数组即可 第二题 其实就是将输入中的r变h,在谭浩强的c课本上有个类似的例子,只不过是计算单词的个数,你可以根据这个改编一下,注意判断r然后根据ASCII...

一道简单的有关数组的Java程序题,请高手前辈们帮忙查看一下代码,谢谢...
一道简单的有关数组的Java程序题,请高手前辈们帮忙查看一下代码,谢谢! 题目:编写一个工具类,该工具类内包含一个数组属性,可以调用该工具类的add()方法向该工具类中的数组里添加元素,添加的元素可以是任意类型,调用get(下标)方法可以取出某个元素,调... 题目:编写一个工具类,该工具类内包含一个数组属性,可以...

用java语言编写一个类,该类创建的对象可以计算等差数列的和。
2013-06-12 JAVA编程高手进,编写一个类,该类创建的对象可以计算等差数... 6 2015-01-13 java的作业题: 写一个类,包含两个方法;再用该类创建一个... 1 2012-05-29 java 编写一个类,该类创建的对象可以计算矩形的面积,刚学... 2 2008-11-15 哪位仁兄帮忙解决怎样编写一个类,该类创建的对象可...

java编程中的有关时间问题,急急,请求高手帮忙,谢谢
import java.util.Calendar;public class Test { public static void main(String[] args) throws Exception { SimpleDateFormat sdf = new SimpleDateFormat(" HH:mm");Calendar c = Calendar.getInstance();int week = c.get(Calendar.DAY_OF_WEEK);DateFormatSymbols dfs = DateFormatSymbols....

请哪位JAVA 高手帮忙把这段代码加下注释,最好再从整体到局部告知思想...
import java.io.InputStreamReader;import java.util.Calendar;public class AddComment { public static void main(String[] args) throws IOException { System.out.println("请输入年月日,格式: yyyy-MM-dd");\/\/ 使用标准输入来构造一个缓冲输入流 BufferedReader br = new BufferedReader(new ...

菜鸟求助高手,java开发环境搭建问题?
第一个java文件的编写步骤:(1):把本地机器的扩展名展示出来 展示方式: 打开我的电脑-->工具-->文件夹选项-->查看-->找到隐藏已知文件的扩展名,把上面的选项去掉(2):创建一个文本文件, 把文件名称改为HelloWorld.java 注意: .java是java程序的默认后缀名 (3):使用记事本打开java文件,填写内容 public class...

想做一个批处理文件,如何写程序?
若有文件*.prt,通过程序提取出文件名*建立文件夹*,并将文件*.prt移到资料夹中,可以循环吗?如何做程序?一楼,如果你会请帮我写出程序,谢谢请各位高手帮帮忙... 若有文件 *.prt, 通过程序提取出文件名 * 建立文件夹 * ,并将文件 *.prt 移到资料夹中,可以循环吗?如何做程序?一楼,如果你会请帮我写出程序...

相似回答
大家正在搜