Advertisement
mfgnik

Untitled

Nov 15th, 2020 (edited)
572
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.80 KB | None | 0 0
  1. #include <cmath>
  2. #include <iostream>
  3. #include <vector>
  4.  
  5.  
  6. int main() {
  7.     int number;
  8.     std::cin >> number;
  9.     std::vector<int>numbers(number+1);
  10.     std::vector<int> primes;
  11.  
  12.     for (int i=2; i<=number; ++i) {
  13.         if (numbers[i] == 0) {
  14.             numbers[i] = i;
  15.             primes.push_back(i);
  16.         }
  17.         for (int j=0; j<(int)primes.size() && primes[j]<=numbers[i] && i*primes[j]<=number; ++j)
  18.             numbers[i * primes[j]] = primes[j];
  19.     }
  20.     int64_t divisors = 1;
  21.     for (auto prime: primes) {
  22.         int amount = 0;
  23.         int degree = prime;
  24.         while (degree <= number){
  25.             amount += number / degree;
  26.             degree *= prime;
  27.         }
  28.         divisors *= (amount + 1);
  29.         divisors %= 1000000007;
  30.     }
  31.     std::cout << divisors;
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement