找N的因子 i j k, 满足i*j*k=N
#include<iostream>
#include<cmath>
using namespace std;
typedef long long ll;
//暴力肯定超时,找n的因子,只有n的因子才能乘以整数得出n,再遍历因子
int main()
{
ll n=2021041820210418;
ll a[100000];//这里必须开ll
int cnt=0;
//找出n因子存入a数组
for(int i = 1; i <= sqrt(n); i++){
if(n % i == 0){
a[++cnt] = i;
if(i*i != n) a[++cnt] = n/i;
}
}
ll ans=0;
for(int l = 1; l <= cnt; l++)
for(int w = 1; w <= cnt; w++)
for(int h = 1; h <= cnt; h++)
if(a[l]*a[w]*a[h] == n) ans++;
cout<<ans;
return 0;
}