Ergebnis 1 bis 5 von 5

Thema: Primzahl berechnung ; WO sind meine 250.000 $ ?

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #2
    Hier hatten wir das Thema schon mal. Kannst dir ja mal meinen Code und den vom Ork dort anschauen. Dein Code ist wirklich etwas uneffizient. Wenn man testet, ob A durch B gerade teilbar ist und B² größer oder gleich A ist, dann ist A nicht gerade durch B teilbar. Hm, naja ist jetzt sicher etwas schwer zu verstehen. Ich poste mal meine Alternative zu deinem Programm hier ein:
    Code:
    #include <iostream.h> 
    #include <conio.h>
    
    int main()
    {
     int zahl;
     cout << "Zahl eingeben" << endl;
     cin>>zahl;
     
     int tmp = 0;
     int x = 2;         //durch x wird geteilt - durch 1 zu teilen ist sinnfrei
     int y = 0;         // so oft wurde schon ohne rest geteilt 
     while (tmp <= zahl)  // wir muessen nur pruefen, ob tmp kleiner als zahl ist
     {
      if (zahl % x == 0)       // teilbar mit rest 0 ?
      { 
        ++y ;          // wenn ja, erhoehe y
      }
      ++x;             // erhoehe x
      tmp = x * x;   // tmp ist x² - wir muessen nur pruefen, ob tmp kleiner als zahl ist
     }
     if (y < 1)          // y kleiner als 1? also nie ohne rest geteilt ?
     {
      cout << zahl << " ist eine Primzahl" ;   // wenn ja, dann primzahl !
     }
     getch();
     return 0;
    }
    Ist sogar etwas kürzer. Wenn du etwas daran nicht verstehst einfach nachfragen.

    freundliche Grüße, Rolus

    Geändert von Rolus (28.04.2005 um 23:29 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •