Advertisement
Schnuk

Untitled

Mar 3rd, 2021
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.70 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. struct Element
  6. {
  7.     int Value;
  8.     Element* NextElement;
  9.  
  10.     Element()
  11.     {
  12.         Value = 0;
  13.         NextElement = nullptr;
  14.     }
  15.  
  16.     Element(int value)
  17.     {
  18.         Value = value;
  19.         NextElement = nullptr;
  20.     }
  21. };
  22.  
  23. struct LinkedList
  24. {
  25.     Element* Head;
  26.     Element* Tail;
  27.     int Length;
  28.  
  29.     LinkedList()
  30.     {
  31.         Head = new Element();
  32.         Tail = Head;
  33.         Length = 0;
  34.     }
  35.  
  36.     LinkedList(int value)
  37.     {
  38.         Head = new Element(value);
  39.         Tail = Head;
  40.         Length = 1;
  41.     }
  42.  
  43.     void Add(int value)
  44.     {
  45.         Element* newElement = new Element(value);
  46.         Tail->NextElement = newElement;
  47.         Tail = newElement;
  48.         Length++;
  49.     }
  50.  
  51.     void PrintList()
  52.     {
  53.         Element* currentElement = Head;
  54.         while (currentElement != nullptr)
  55.         {
  56.             cout << currentElement->Value << ends;
  57.             currentElement = currentElement->NextElement;
  58.         }
  59.     }
  60. };
  61.  
  62. bool IsElementPrimeNumber(Element* head, int currentNumber)
  63. {
  64.     Element* currentElement = head;
  65.     while (currentElement != nullptr)
  66.     {
  67.         if (currentNumber % currentElement->Value == 0)
  68.             return false;
  69.         else
  70.             currentElement = currentElement->NextElement;
  71.     }
  72.     return true;
  73. }
  74.  
  75. int main()
  76. {
  77.     int n;
  78.     cin >> n;
  79.     int currentNumber = 2;
  80.     LinkedList list = LinkedList(currentNumber);
  81.     while (list.Length != n)
  82.     {
  83.         Element* currentElement = list.Head;
  84.         if (IsElementPrimeNumber(list.Head, currentNumber))
  85.             list.Add(currentNumber);
  86.         currentNumber++;
  87.     }
  88.     list.PrintList();
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement