解题思路:
报数,报到3就排除,所以创建一个n的boolean类型数组,计入count,如果count%3==0,那么就是报到3的那个人
注意事项:
好简单好简单,我不想说啦!!!可能要注意的一个地方就是,当for循环中 ,可能会在一次对整个数组的循环删去的数大于n-1,所以要加一个条件,条件达成了自动退出循环
参考代码:
import java.util.*;
public class Main{
// static BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
// static PrintWriter pw=new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
//判段是否被排除,初始化为全部没有被排除
boolean[] arr=new boolean[n+1];
int count=0;
int num=0;
while(count!=n-1) {
for(int i=1;i<=n&&count!=n-1;i++) {
if(!arr[i]) {
num++;
if(num%3==0) {
arr[i]=true;
count++;
}
}
}
}
for(int i=1;i<=n;i++) {
if(!arr[i]) {
System.out.println(i);
}
}
}
}
0.0分
2 人评分
C二级辅导-分段函数 (C语言代码)浏览:559 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:648 |
C语言训练-字符串正反连接 (C语言代码)浏览:622 |
C语言训练-排序问题<2> (C++代码)浏览:882 |
C语言程序设计教程(第三版)课后习题9.3 (Java代码)浏览:957 |
C语言程序设计教程(第三版)课后习题9.4 (Java代码)浏览:1417 |
哥德巴赫曾猜测 (C语言代码)浏览:995 |
回文串 (C语言代码)浏览:2856 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:865 |
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:595 |