B题:
题解:
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
public static void main(String[] args) {
// int count = 0;
// for (long i = 2333333; i <= 23333333; i++) {
// if (chack(i)){
// count++;
// }
// }
System.out.print(25606);
}
public static boolean isprime(long n) {
if(n==1) return false;
for(int i=2;i<=Math.sqrt(n);i++) {
if(n%i==0) {
return true;
}
}
return true;
}
private static boolean chack(long n) {
int ans=0;
//只需要到sqrt(n)即可,因为如果有一个因数大于等于sqrt(n)
// 那么必定有一个因数小于等于sqrt(n)
for (int i = 2; i <= Math.sqrt(n) ; i++) {
//快速找到所有的质因子
while (isprime(i)&&n % i == 0){
n/=i;
//更新数据
ans++;
}
}
/*
比如最后的n为5的时候,n%i!=0
但是5也是这里面的一个质数
所以这个质因子5不能漏掉
*/
if(n>1)ans++;
return ans == 12 ;
}
}