哪位大虾帮我看下我的答案对否?

wyf19892 2009-09-03 02:28:39
题目:有500个小朋友拉成一个圆圈,从其中一个小朋友开始依次编号1-500,从1号小朋友开始循环1-3报数,数到3的小朋友就退出。编写一个Java应用程序,计算出最后一个小朋友的号码是多少。

我编的程序算出来的答案是500!

为了不影响各位的思路,我就不把我的代码贴出来了,各位编个程序算算,看看答案是否和我一致,如果不一致的要说明理由~
...全文
87 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
淡定别怂 2009-09-09
  • 打赏
  • 举报
回复
直接一个递归就完了,呵呵,学数据结构的时候写过
liufanggan 2009-09-03
  • 打赏
  • 举报
回复
public class Count3Quite {

public static void main(String[] args) {
boolean arr[] = new boolean[500];
for (int i=0;i<arr.length;i++){
arr[i] = true;
}

int leftCount = arr.length;
int countNum = 0;
int index = 0;

while(leftCount>1){
if(arr[index]==true){
countNum ++;
if(countNum == 3){
countNum = 0;
arr[index] = false;
leftCount --;
}
}

index++;
if(index == arr.length){
index = 0;
}
}
for(int i = 0;i<arr.length;i++){
if(arr[i]==true){
System.out.println(i);
}
}
}

}
第一次发这种代码 新手 刚刚的太乱了..
liufanggan 2009-09-03
  • 打赏
  • 举报
回复
public class Count3Quite {

public static void main(String[] args) {
boolean arr[] = new boolean[500];
for (int i=0;i<arr.length;i++){
arr[i] = true;
}

int leftCount = arr.length;
int countNum = 0;
int index = 0;

while(leftCount>1){
if(arr[index]==true){
countNum ++;
if(countNum == 3){
countNum = 0;
arr[index] = false;
leftCount --;
}
}

index++;
if(index == arr.length){
index = 0;
}
}
for(int i = 0;i<arr.length;i++){
if(arr[i]==true){
System.out.println(i);
}
}
}

}
yang105 2009-09-03
  • 打赏
  • 举报
回复
hxbot 2009-09-03
  • 打赏
  • 举报
回复
答案不是500
kf156 2009-09-03
  • 打赏
  • 举报
回复
我算的答案是436
  • 打赏
  • 举报
回复
ITAT大赛的题目啊

楼主强

13,100

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧