fork download
  1. #include <iostream>
  2. #include <bits/stdc++.h>
  3. using namespace std;
  4.  
  5. unordered_map<long long,long long>primeFactors(long long n){
  6. unordered_map<long long,long long>res;
  7.  
  8. long long range=sqrt(n);
  9.  
  10. int i=2;
  11. while(n%i==0){
  12. res[i]++;
  13. n=n/i;
  14. }
  15.  
  16. for(long long i=3;i<=range;i=i+2){
  17. while(n%i==0){
  18. res[i]++;
  19. n=n/i;
  20. }
  21. }
  22.  
  23. if(n>2) res[n]++;
  24.  
  25. return res;
  26. }
  27. int main(){
  28. long long n;
  29. cin>>n;
  30. unordered_map<long long,long long>mpp=primeFactors(n);
  31. for(auto it:mpp){
  32. cout<<it.first<<" "<<it.second<<endl;
  33. }
  34. return 0;
  35. }
Success #stdin #stdout 0s 5332KB
stdin
139
stdout
139 1