Advertisement
Solingen

z4.3.cpp

Dec 21st, 2024
19
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.40 KB | None | 0 0
  1. #include <iostream>
  2. #include "string.h"
  3. #include "array.h"
  4. using namespace std;
  5.  
  6. // Простейшая проверка простоты
  7. bool isPrime(long long x)
  8. {
  9.     if (x < 2) return false;
  10.     for (long long i = 2; i*i <= x; i++)
  11.     {
  12.         if (x % i == 0) return false;
  13.     }
  14.     return true;
  15. }
  16.  
  17. // Генерируем первые N простых чисел и кладём в Array<long long>
  18. Array<long long> generatePrimes(int N)
  19. {
  20.     Array<long long> arr;
  21.     long long num = 2;
  22.     while (arr.size() < N)
  23.     {
  24.         if (isPrime(num)) arr.append(num);
  25.         num++;
  26.     }
  27.     return arr;
  28. }
  29.  
  30. int main()
  31. {
  32.     cout << "Сколько чисел Евклида вывести? ";
  33.     int N;
  34.     cin >> N;
  35.  
  36.     // Генерируем N простых
  37.     Array<long long> primes = generatePrimes(N);
  38.  
  39.     // Считаем и выводим E(i)
  40.     long long product = 1;
  41.     for (int i = 0; i < N; i++)
  42.     {
  43.         product *= primes[i];
  44.         long long E = product + 1;
  45.  
  46.         String msg = "E(";
  47.         msg = msg + to_string(i+1).c_str();
  48.         msg = msg + ") = ";
  49.         msg = msg + to_string(E).c_str();
  50.  
  51.         // Проверка простоты
  52.         if (isPrime(E))
  53.             msg = msg + " (простое)";
  54.         else
  55.             msg = msg + " (непростое)";
  56.  
  57.         cout << msg << endl;
  58.     }
  59.  
  60.     return 0;
  61. }
  62.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement