import java.util.ArrayList;
public class Main {
public static void main(String args[]) {
//常规思路
/*
long num = 2021041820210418l;
int count = 0;
for ( long i = 1 ; i < num ; i++ ){
for ( long j = 1 ; j < num ; j++ ){
for ( long k = 1 ; k < num ; k++ ){
if ( i * j *um ){
count++;
}
}
}
}
*/
//显而易见,这个算法的时间复杂的非常的大。计算机想要算出结果,可能需要几天的时间
//所以要另辟蹊径
//想想,三个数相乘要等于num,那么这三个数是不是都是num的因子,都能被num整除呢?
//上方的算法,三层for循环都是从1遍历到num,其中很多组合都是无效的
//简而言之,这些无效组合中不能同时被num整除,而有效的组合,任何一个数都能被num整除
//所以,如果我们能从num的因子里面去找组合,是不是时间复杂度就要小许多?
long num = 2021041820210418l;
//如果直接赋值,计算
import java.util.ArrayList;public class Main { public static void main(String args[]) { //常规思路 /* long num = 2021041820210418l; int count = 0; for ( long i = 1 ; i < num ; i++ ){ for ( long j.