那么多组测试用例下我应该怎么做呢? Scanner input = new Scanner(System.in); 用while(input.hasNext()){}套起来
那么多组测试用例下我应该怎么做呢?Scanner cin = new Scanner(System.in); while(cin.hasNextInt()){ //这里至于选择哪个方法根据题目具体要求 //处理完一组测试用例,继续下一次循环 } 编程比赛最好先把数据的输入输出练习熟练。这个地方要求都比较严格
那么多组测试用例下我应该怎么做呢? Scanner input = new Scanner(System.in); 用while(input.hasNext()){}套起来以文件结尾是什么意思,是直接close掉Scanner对象么
数学公式推出来的,应该比楼主的循环要快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(); }
那么多组测试用例下我应该怎么做呢?
Scanner input = new Scanner(System.in);
用while(input.hasNext()){}套起来
那么多组测试用例下我应该怎么做呢?Scanner cin = new Scanner(System.in);
while(cin.hasNextInt()){ //这里至于选择哪个方法根据题目具体要求
//处理完一组测试用例,继续下一次循环
}
编程比赛最好先把数据的输入输出练习熟练。这个地方要求都比较严格
那么多组测试用例下我应该怎么做呢?
Scanner input = new Scanner(System.in);
用while(input.hasNext()){}套起来以文件结尾是什么意思,是直接close掉Scanner对象么
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();
}