此题注意审题---是环形的洞!!!
题目是:在一个有N个环形洞中,兔子躲进其中一个,狼先到第一个,没有找到,然后第三个,也没有找到,再到第六个,第十个.....以此类推,每次在前面的基础上加一个,最终狼没追到兔子.问兔子可能在那个洞里?
输入
输入N 其中 1<=n<=100
输出
输出狼找不到的洞的编号,每个号码占一行
样例输入
10
样例输出
2
4
7
9
那么如果我们循环n次就够了 其次我们如果吧狼找过的洞都赋0 最后判断不为0的即是兔子的洞 那么问题来了 环形的是不是会超出洞数 那么我们就要 % n 即可 (时钟原理) .. 看代码理解!:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt(),x = 0,t = 0;
if(n >=1 && n <=100) {
int [] arr = new int [n];
for(int i = 0;i < n;i++) {
arr[i] = i+1;
}
// for(int i = 0;i < arr.length;i++) {
// System.out.print(arr[i] + " ");
// }
//喜欢就点赞啥的 这是对我最大支持...
for(int i = 0;i < n;i++,x++) {
t += x;
if((t+x) >= n) {
arr[(t+x)%n] = 0;
}else {
arr[t+x] = 0;
}
}
for(int i = 0;i <n ;i++) {
if(arr[i] != 0) {
System.out.println(arr[i]);
}
}
}
}
}
喜欢就点赞啥的 这是对我最大支持...
本文来自博客园,作者:咸瑜,转载请注明原文链接:javascript:void(0)p/14191973.html