G.cpp 774 B

12345678910111213141516171819202122232425262728293031323334353637
  1. //
  2. // Created by jal on 2019-04-01.
  3. #include <bits/stdc++.h>
  4. using namespace std;
  5. vector<int>prime;
  6. void init(int n){
  7. vector<bool>f(n+1, true);
  8. for(int i = 2; i <= n; i++){
  9. if(f[i]){
  10. prime.push_back(i);
  11. }
  12. for(int j = 0; j < prime.size() && i * prime[j] <= n; j++){
  13. f[i * prime[j]] = false;
  14. }
  15. }
  16. }
  17. int main(){
  18. int n;
  19. cin >> n;
  20. init(n);
  21. long long ret = 1;
  22. map<int, int>mp;
  23. for(int i = 2; i <= n; i++){
  24. int t = i;
  25. for(int j = 0; j < prime.size(); j++){
  26. while(t % prime[j] == 0){
  27. mp[prime[j]]++;
  28. t /= prime[j];
  29. }
  30. }
  31. }
  32. for(auto i : mp){
  33. ret *= (i.second + 1);
  34. }
  35. cout << ret << endl;
  36. }