全部评论
long[] num = {9,99,999,9999,99999,999999,9999999,99999999,999999999};
long[] numResult = {9,189,2889,38889,488889,5888889,68888889,788888889};
Scanner scan = new Scanner(System.in);
int t = scan.nextInt();
for(int i = 0; i < t; i ++) {
long n = scan.nextInt();
int count = judge(n); // 判断n是几位数
if(count == 1)
System.out.println(n);
else if(count == 10) {
System.out.println("8888888899");
}
else {
System.out.println((n - num[count - 2]) * count + numResult[count - 2]);
}
}
我也是安卓,第一题不会,第二题我感觉思路还行啊,不知道为啥只是通过百分之四十,还是不行
为什么你们的题这么正常……我前端的编程题就是2个a+b我去……
这个题目我的数组生成没问题,求***应该也没问题,ide上测试用例也都对,就是到赛码上不通过,这种情况还有人遇到吗?
第一题我超时了,第二题我AC,一位数有9个,两位数有90个,以此类推n位数有,9*10^(n-1)个,统计要求得数的位数n,将前面的一位数到n-1位数加起来9 + 90*2 +……+9*10^(n-2)*(n-1),然后算出n位数总共多长,就是这个(num -10^(n-1)+1)*n,结果要用long来存。
第二题我的想法是(13-10+1)*2就是所有和13位数相同的数的位数之和,其他的同理
请问什么是GCD啊?
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享