求 n!n! 中某个数码出现的次数。
输入格式第一行为 t(t leq 10)t(t≤10),表示数据组数。接下来 tt 行,每行一个正整数 n(n leq 1000)n(n≤1000) 和数码 aa。
输出格式对于每组数据,输出一个整数,表示 n!n! 中 aa 出现的次数。
输入输出样例输入 #1
2 5 2 7 0
输出 #1
1 2以下是AC代码用高精度:
import java.math.BigInteger;
public class Main {
public static void main(String[] args) {
java.util.Scanner sc = new java.util.Scanner(System.in);
int t = sc.nextInt();
for (int i = 0; i < t; i++) {
int count = 0;
int n = sc.nextInt();
int a = sc.nextInt();
String sb = String.valueOf(fac(n));
for (int j = 0; j < sb.length(); j++) {
if (String.valueOf(sb.charAt(j)).equals(String.valueOf(a)))
count++;
}
System.out.println(count);
}
}
static BigInteger fac(int num) {
BigInteger res = BigInteger.valueOf(1);
while (num > 1) {
res = res.multiply(BigInteger.valueOf(num--));
}
return res;
}
}



