1 solutions
-
0
C++ :
#include <iostream> #include <vector> #include <cmath> using namespace std; const int MAX_N = 1e3 + 9; long long n; int sum; int cal(int x) //把x进行拆分 1 + 2 + 3 ...... { int p = 1 , num = 0; while(x >= p) { num++; x -= p; p++; } return num; } int main() { cin >> n; for(long long i = 2; i * i <= n; i++) { if(n % i == 0) //i为n的因子 { int cnt = 0; while(n % i == 0) { cnt++; n /= i; } sum += cal(cnt); } } if(n != 1) sum += cal(1); cout << sum; return 0; }
- 1
Information
- ID
- 92
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By