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

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

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

java题目,请高手帮忙解决。
您可以使用沿用权限来访问具有运行程序的用户的权限和程序拥有者权限的对象。沿用权限临时地将用户原先无权访问的对象的权限授予用户。并发性:JAVA支持多线程技术,就是多个线程并行机制,多线程是Java的一个重要方法,特别有利于在程序中实现并发任务.Java提供Thread线程类,实现了多线程的并发机制.j2se j2ee ...

急用急用~!!要求用JAVA写一个 将十进制转化成二进制,再从二进制转化成...
import java.util.*;public class nicki{ public static void main(String[] args){ Scanner sc=new Scanner(System.in);boolean go=true;Outer:while(go==true){ System.out.println("\\n\\n* * * * * * * \\n请选择操作:");System.out.println("1 输入10进制数,输出二进制...

用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....

老师说我啰嗦 请高手帮忙改进一下这个vfp程序 只要求三个数比大小 要...
1、(一、\/1、\/(5))创建普通索引xfdh,要求先按xf字段排序,xf相同时再按课程代号(kcdh)字段排序。INDEX ON xf+kcdh TO xfdh 2、(一、4)为学生(xs)表添加一个年龄字段,字段名为age、类型为数值型、宽度为2,然后计算表中所有籍贯 (jg)为“江苏南京”的学生年龄,计算结果存储在age...

相似回答
大家正在搜