题意解析
这道题就是让我们求n=a* b*c的合法个数。
2021041820210418的约数就128个,我们把把所有约数都枚举出来,然后统计合法的约数个数即可:
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
int cnt;
int main()
{
LL n;cin>>n;
vector<LL> d;
for(LL i=1;i*i<=n;i++)
{
if(n%i==0)
{
d.push_back(i);
if(n/i!=i)d.push_back(n/i);
}
}
//打印约数和约数个数出来看
//for(auto x:d)cout<<x<<endl;
//cout<<d.size()<<endl;
int res=0;
for(auto a:d)
for(auto b:d)
for(auto c:d)
if(a*b*c==n)
res++;
cout<<res;
return 0;
}
答案:2430