解题思路
对于数K而言,good number的个数即为K的各个质因子的幂数累乘。但是题目给定数比较大1e24,肯定有有大于1e6的质因子,但是最多有三个。题目中又定条件,说第一大的质因子相同,第二大的一定不同,那么我们先将1e6以内的质因子分解,如果剩下的部分大于1e6的话,我们就需要再作判断,求两数的gcd,就可以将第一第二大的质因子分离,判断是否为2,3次幂可以分别求出。
代码
import java.util.*;
import java.math.*;
import java.io.*;
public class Main {
final static int maxn = 1000000;
static int cnt = 0;
static int vis[] = new int[maxn+5];
static int pri[] = new int[maxn+5];
public