fork download
  1. #include <iostream>
  2. #include <iomanip>
  3. using namespace std;
  4.  
  5. int main() {
  6. long* parry = nullptr; // пустой указатель.
  7. long trial = 5; // кандидат на простое число.
  8. int count = 3; // кол-во простых чисел (объявленных)
  9. int found = 0; // признак обнаружения простого числа.
  10. int max2 = 0; // определяем кол-во простых чисел
  11.  
  12. cout << "enter the numbers of digits: ";
  13. cin >> max2;
  14.  
  15. parry = new long[max2]; // выделяю память под max2 элементов.
  16. //
  17. // собственно проблема на следующей строке.
  18. *parry = 2; // пишу в первый элемент 2.
  19. *(parry + 1) = 3; // пишу во второй элемент 3.
  20. *(parry + 2) = 5; // пишу в 3-ий 5.
  21.  
  22. do {
  23. trial += 2;
  24. found = 0;
  25.  
  26. for (int i = 0; i < count; ++i)
  27. {
  28. found = (trial % *(parry + i)) == 0;
  29.  
  30. if (found)
  31. break;
  32. }
  33. if(found == 0)
  34. *(parry + count++) = trial;
  35.  
  36. } while (count < max2);
  37.  
  38. for (int i = 0; i < max2; ++i)
  39. {
  40. if (i % 5 == 0)
  41. cout << endl;
  42. cout << setw(6) << *(parry + i);
  43. }
  44.  
  45. delete[] parry;
  46. parry = nullptr;
  47. cout << endl;
  48.  
  49. return 0;
  50. }
Success #stdin #stdout 0s 3464KB
stdin
10
stdout
enter the numbers of digits: 
     2     3     5     7    11
    13    17    19    23    29