• 【狼追兔纸】


    题目描述

    题目是:在一个有N个环形洞中,兔子躲进其中一个,狼先到第一个,没有找到,然后第三个,也没有找到,再到第六个,第十个.....以此类推,每次在前面的基础上加一个,最终狼没追到兔子.问兔子可能在那个洞里?

    输入

    输入N 其中 1<=n<=100

    输出

    输出狼找不到的洞的编号,每个号码占一行

    样例输入

    10

    样例输出

    2
    4
    7
    9
    

    提示

    解题思路基本就按题目说的来;每次加1,就是1,3,6,10。。。

    终止条件就是当再次从起点1位置开始的时候,就是终止条件了,也就是说,当狼第二次到起点开始继续找兔纸,重复从位置一开始的动作的时候,即可终止循环;

    因此,需要每次开始的位置判断是否是位置1,而且经过两次;

    import java.util.*;
    public class A1091 {
    
        public static void main(String[] args) {
            Scanner in=new Scanner(System.in);
            int n=in.nextInt();int[] ar=new int[n+1];
            int sum=0;
            for(int i=1;;i++) {
                sum+=i;
                int t=sum%n;//获取在哪个位置
                if(t==1&&ar[t]>=2) {//判断是否第二次在1位置上
                    break;
                }else if(t==0&&sum==n) {//处理终止位置与n的相同问题,(处理当n=sum,取余就会变0)
                    ar[n]++;
                }else {
                    ar[t]++;
                }
            }
            for(int i=1;i<n;i++) {
                if(ar[i]==0) {
                    System.out.println(i);
                }
            }
        }
    
    }
  • 相关阅读:
    [转].net批量导入数据
    IIS6 应用程序池配置详解附建议设置
    [转]SQLServer死锁问题
    VSS 版本管理
    非功能性需求介绍[转]
    javascript获取网页中HTML元素
    [转]如何做一流的研究
    多web并发测试问题解决
    jQuery 页面校验
    SqlServer排序规则错误致使不能查询
  • 原文地址:https://www.cnblogs.com/RorinL/p/12926474.html
Copyright © 2020-2023  润新知