Primzahlen



  • Servus,

    Ich soll n Primzahlen ausgeben lassen. Irgendwie gibt er mir alle Zahlen ab 2 zurück.

    HelP!

    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
      unsigned int prim, i, n;
    
      prim = 2;
      i = 3;
    
      std::cout << "Wieviel Primzahlen sollen ausgegeben werden ?\n\n";
      std::cout << "Anzahl: ";
      std::cin >> n;
    
     std::cout << "\n\n\n Die ersten ";
     std::cout << n;
     std::cout << " Primzahlen lauten: ";
    
      if (i % prim == 1) {  
        while (prim <= n) {
          std::cout << prim << " ";
          prim++;
        }     
       } else {
      }    
    
      system("PAUSE");	
      return 0;
    }
    


  • Nur weil du die Variable "prim" nennst, führt der Compiler dafür keine Primzahl-Kontrolle durch - das mußt du schon selber erledigen:

    int i=0;p=2;
    while(i<n)
    {
      if(istprim(p))
      {
        cout<<p<<" ";
        ++i;
      }
      ++p;
    }
    


  • CStoll schrieb:

    Nur weil du die Variable "prim" nennst, führt der Compiler dafür keine Primzahl-Kontrolle durch

    🤡 👍


Anmelden zum Antworten