Advertisement
Guest User

Untitled

a guest
Dec 14th, 2019
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.46 KB | None | 0 0
  1. #include <algorithm>
  2. #include <iomanip>
  3. #include <iostream>
  4. #include <map>
  5. #include <queue>
  6. #include <set>
  7. #include <stack>
  8. #include <string>
  9. #include <vector>
  10. #include <cmath>
  11.  
  12. using namespace std;
  13. typedef long long ll;
  14. typedef unsigned long long ull;
  15. typedef vector<int> vi;
  16. typedef vector<ll> vll;
  17. typedef vector<bool> vb;
  18. #define all(c) c.begin(), c.end()
  19. #define rall(c) c.rbegin(), c.rend()
  20. #define INFLL (ll)(1e18)
  21. #define INF 0x3f3f3f3f
  22. #define EPS 1e-9
  23.  
  24. template<class T>
  25. istream &operator>>(istream &is, vector<T> &a_vector) {
  26.     for (int i = 0; i < a_vector.size(); ++i)
  27.         is >> a_vector[i];
  28.     return is;
  29. }
  30.  
  31. bool prime(ll n) {
  32.     for (ll i = 2; i * i <= n; ++i)
  33.         if (n % i == 0)
  34.             return false;
  35.     return true;
  36. }
  37.  
  38. int main() {
  39.     int b, k;
  40.     cin >> b >> k;
  41.     string s;
  42.     cin >> s;
  43.     ll n = stoll(s, 0, 16);
  44.     if (k == 2) {
  45.         ll d = sqrt(n) + 1;
  46.         while (d >= 2) {
  47.             if (n % d == 0 && prime(d)) {
  48.                 printf("%x\n%x", d, n / d);
  49.                 return 0;
  50.             }
  51.             --d;
  52.         }
  53.     } else {
  54.         int d = 2;
  55.         set<int> ans;
  56.         ll kk = n;
  57.         while (d * d <= kk) {
  58.             if (n % d == 0) {
  59.                 ans.insert(d);
  60.                 n /= d;
  61.             } else
  62.                 ++d;
  63.         }
  64.         if (n != 1)
  65.             ans.insert(n);
  66.         for (int i:ans)
  67.             printf("%x\n", i);
  68.     }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement