Java金典题目 -- 狼追兔子(环形)

此题注意审题---是环形的洞!!!

题目是:在一个有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]); } } } } }

 

喜欢就点赞啥的  这是对我最大支持...

posted @ 2020-12-26 11:42  咸瑜  阅读(89)  评论(0编辑  收藏  举报