解决方案 »

  1.   

    看一下题目有没有说明只有一组测试用例,如果是多组,这样写肯定就不行了。还有类名最好用Main,不知道CSDN有没有这要求。
      

  2.   


    那么多组测试用例下我应该怎么做呢?
     Scanner input = new Scanner(System.in);
    用while(input.hasNext()){}套起来
      

  3.   


    那么多组测试用例下我应该怎么做呢?Scanner cin = new Scanner(System.in);
    while(cin.hasNextInt()){   //这里至于选择哪个方法根据题目具体要求
           //处理完一组测试用例,继续下一次循环
    }
    编程比赛最好先把数据的输入输出练习熟练。这个地方要求都比较严格
      

  4.   


    那么多组测试用例下我应该怎么做呢?
     Scanner input = new Scanner(System.in);
    用while(input.hasNext()){}套起来以文件结尾是什么意思,是直接close掉Scanner对象么
      

  5.   

    数学公式推出来的,应该比楼主的循环要快static int sum(int n, int a) {
        final BigInteger i81 = BigInteger.valueOf(81);
        final BigInteger m = BigInteger.valueOf(1000000007);
        //81 * x = 10**(n+1) - 10 - 9*n    (mod m) for a==1
        BigInteger x = BigInteger.valueOf(10).modPow(BigInteger.valueOf(n+1), m);
        x = x.subtract(BigInteger.valueOf(10+9*n)).add(m);
        x = x.multiply(i81.modInverse(m)).multiply(BigInteger.valueOf(a)).mod(m);
        return (int)x.longValue();
    }