lanqiao 1463 货物摆放
This commit is contained in:
32
12lanqiao/test4.cpp
Normal file
32
12lanqiao/test4.cpp
Normal file
@@ -0,0 +1,32 @@
|
||||
// lanqiao 1463 货物摆放
|
||||
#include<bits/stdc++.h>
|
||||
using namespace std;
|
||||
#define int long long
|
||||
/*
|
||||
搜索解法:由于n过大,严重超时,无法跑出结果
|
||||
枚举解法:由于只有三个位置,所以直接枚举三个位置上的数字
|
||||
*/
|
||||
signed main(){
|
||||
int n = 2021041820210418;
|
||||
vector<int> p; // 找到n的所有因子并存储起来,进而针对枚举范围进行优化
|
||||
for(int i = 1; i <= sqrt(n); i++){
|
||||
if(n % i == 0){
|
||||
p.push_back(i);
|
||||
if(i != n/i) p.push_back(n/i);
|
||||
}
|
||||
}
|
||||
int ans = 0;
|
||||
// 枚举因子,计算方案数量
|
||||
for(int i = 0; i < p.size(); i++){
|
||||
for(int j = 0; j < p.size(); j++){
|
||||
for(int k = 0; k < p.size(); k++){
|
||||
if(p[i] * p[j] * p[k] == n) ans++;
|
||||
}
|
||||
}
|
||||
}
|
||||
cout << ans << endl;
|
||||
return 0;
|
||||
}
|
||||
/*
|
||||
output -> 2430
|
||||
*/
|
||||
Reference in New Issue
Block a user