fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. unordered_map<int, int> primeFactors(int n){
  5.  
  6. unordered_map<int, int> mp;
  7.  
  8. while(n % 2 == 0){
  9. mp[2]++;
  10. n /= 2;
  11. }
  12.  
  13.  
  14. for (int i = 3; i <= sqrt(n); i += 2){
  15.  
  16. while(n % i == 0){
  17. mp[i]++;
  18. n /= i;
  19. }
  20.  
  21.  
  22. }
  23.  
  24.  
  25. if(n > 2){
  26. mp[n]++;
  27. }
  28.  
  29. return mp;
  30. }
  31.  
  32. int main()
  33. {
  34. int n; cin >> n;
  35. unordered_map<int, int> mp = primeFactors(n);
  36. for (auto i : mp){
  37. cout << i.first << " " << i.second << '\n';
  38. }
  39.  
  40. return 0;
  41. }
  42.  
  43.  
  44.  
Success #stdin #stdout 0.01s 5288KB
stdin
14
stdout
7 1
2 1