此题注意审题---是环形的洞!!!
题目是:在一个有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]); } } } } }
喜欢就点赞啥的 这是对我最大支持...