Advertisement
Korotkodul

N25

Jun 8th, 2023
713
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.64 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4. #include <cmath>
  5. #define pii pair <int, int>
  6. using namespace std;
  7.  
  8. void cv(vector <int> v) {
  9.     for (int i: v) {
  10.         cout << i << ' ';
  11.     }
  12.     cout << "\n";
  13. }
  14.  
  15. int f(int n) {
  16.     vector <pii> div;
  17.     for (int i = 2; i <= sqrt(n); ++i) {
  18.         if (n % i == 0) {
  19.             int cnt = 0;
  20.             while (n % i == 0) {
  21.                 n /= i;
  22.                 cnt++;
  23.             }
  24.             div.push_back({i,cnt});
  25.         }
  26.     }
  27.     if (div.size() > 1) {
  28.         return -1;
  29.     }
  30.     if (div[0].second % 2 == 1) {
  31.         return -1;
  32.     }
  33.     int div_num = div[0].second;
  34.     for (int i = 2; i <= sqrt(div_num); ++i) {
  35.         if (div_num % i == 0) {
  36.             return -1;
  37.         }
  38.     }
  39.     return div[0].second;
  40. }
  41.  
  42.  
  43. bool cmp(pii a, pii b) {
  44.     return a.second > b.second || a.second == b.second &&  a.first > b.first;
  45. }
  46.  
  47. int main()
  48. {
  49.     vector <bool> prime(10010,1);
  50.     vector <int> pr = {2,3};
  51.     /*for (int i = 2; i < 10010; ++i) {
  52.         for (int j = 2*i; j < 10010; j += i) {
  53.             prime[j] = 0;
  54.         }
  55.     }
  56.     for (int i = 2; i < 10010; ++i) {
  57.         if (prime[i]) {
  58.             pr.push_back(i);
  59.         }
  60.     }*/
  61.     for (int i = 4; i < 10010; ++i) {
  62.         bool ok = 1;
  63.         for (int j = 2; j <= sqrt(i); ++j) {
  64.             if (i % j == 0) {
  65.                 ok = 0;
  66.             }
  67.         }
  68.         if (ok) {
  69.             pr.push_back(i);
  70.         }
  71.     }
  72.     //cv(pr);
  73.     for (int n: pr) {
  74.         //n - простое
  75.         int i = 0;
  76.         while (pow(n, pr[i] - 1) < 10 * pow(10,6);
  77.     }
  78. }
  79.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement