小蓝有一个超大的仓库,可以摆放很多货物。
现在,小蓝有 nn 箱货物要摆放在仓库,每箱货物都是规则的正方体。小蓝规定了长、宽、高三个互相垂直的方向,每箱货物的边都必须严格平行于长、宽、高。
小蓝希望所有的货物最终摆成一个大的长方体。即在长、宽、高的方向上分别堆 LL、WW、HH 的货物,满足 n = L \times W \times Hn=L×W×H。
给定 nn,请问有多少种堆放货物的方案满足要求。
例如,当 n = 4n=4 时,有以下 66 种方案:1×1×4、1×2×2、1×4×1、2×1×2、2 × 2 × 1、4 × 1 × 11×1×4、1×2×2、1×4×1、2×1×2、2×2×1、4×1×1。
请问,当 n = 2021041820210418n=2021041820210418 (注意有 1616 位数字)时,总共有多少种方案?
import java.util.*; public class Main { public static void main(String[] args) { int a1=200; long[] a=new long[a1]; long c = 2021041820210418L; int len=0; long count=0; for (long i=1;i*i<=c;i++){ if (c%i==0) { a[len++] = i; if (i != c / i) { a[len++] = c / i; } } } System.out.println(Arrays.toString(a)); for (int q=0;q<len;q++){ for (int w=0;w<len;w++){ if (a[q]*a[w]>c){ continue; }for (int e=0;e<len;e++){ if (a[q]*a[w]*a[e]==c){ count++; } } } } System.out.println(count); } }