解决方案 »

  1.   

    已知数m,求从1到m中选取最少个数的数字,他们的和是m
      

  2.   

    第三题
    public class FrogClimb
    {
        public int getResult(int m,int n,int h)
        {
            int resualt = 0;
            if(m < 2 || m > 10)
            {
                System.out.println("2<=m<=10");
            }
            if(n < 1 || n > m)
            {
                System.out.println("1<=n<m");
            }
            if(h < 10 || h > 2000000000)
            {
                System.out.println("10<=h<=2000000000");
            }
            
            int perDay = m - n;
            while(h - perDay*resualt - m >= 0)
            {
                resualt++;
            }
            return resualt;
        }
        public static void main(String[] args)
        {
            FrogClimb frogClimb = new FrogClimb();
            System.out.println(frogClimb.getResult(4, 2, 10));
        }
    }
      

  3.   

    第3题 public static int getResult(int m, int n, int h) {
    return (int) Math.ceil(1.0 * (h - n) / (m - n));
    }
      

  4.   


    最后1天爬m尺,其他时间爬m-n尺,所以总时间为(h-m)/(m-n) + 1,由于(h-m)/(m-n)不一定能整除,所以要向上取整,化简下就是结果。
      

  5.   


    最后1天爬m尺,其他时间爬m-n尺,所以总时间为(h-m)/(m-n) + 1,由于(h-m)/(m-n)不一定能整除,所以要向上取整,化简下就是结果。