n-1位数
时间限制:
3000 ms | 内存限制:
65535 KB
难度:
1
-
描述
-
已知w是一个大于10但不大于1000000的无符号整数,若w是n(n≥2)位的整数,则求出w的后n-1位的数。
-
输入
-
第一行为M,表示测试数据组数。
接下来M行,每行包含一个测试数据。
输出
- 输出M行,每行为对应行的n-1位数(忽略前缀0)。如果除了最高位外,其余位都为0,则输出0。 样例输入
-
4 1023 5923 923 1000
样例输出
-
23 923 23 0
-
第一行为M,表示测试数据组数。
思路:
先判断输入的数字是几位数,那么剩下的就简单了。就是用该数字取余即可。
代码:
import java.util.Scanner;
public class Main {
public static int f(int a) {// 判断输入的数字是几位数
int count = 0;
while(a%10>0||a/10!=0){
count ++;
a = a/10;
}
return count;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int[] b = new int[a];
int[] sum = new int[a];
for(int i=0;i<a;i++){
b[i] = sc.nextInt();
}
for(int i=0;i<a;i++){//取数字的n-1位
sum[i] = b[i]%(int) Math.pow(10, f(b[i])-1);
}
for(int i=0;i<a;i++){
System.out.println(sum[i]);
}
}
}