2021年蓝桥杯C++B组 E题.货物摆放 知识点:约数

60 阅读1分钟

1.货物摆放 - 蓝桥云课 (lanqiao.cn)

题意解析

这道题就是让我们求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