题目
思路
n=2021041820210418
思路
题目即为求n的所有三个约束相乘的结果有多少,且三个相乘的约数顺序不同则不为同一种情况
n=abc,一组a,b,c视为一种结果
预处理n的所有约数
然后....
c++代码
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
typedef long long ll;
ll n;
int main(){
n=2021041820210418;
vector<ll> d;//存储n的所有约数
for(ll i=1;i*i<=n;i++){
if(n%i==0){
d.push_back(i);//i为n的约数
if(n/i!=i) d.push_back(n/i);//如果n/i==i的话两者相等则会重复
}
}
int res=0;
for(auto a:d)
for(auto b:d)
for(auto c:d)
if(a*b*c==n) res++;
cout<<res<<endl;
return 0;
}