Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Rätselecke » Primzahlen berechnen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 <
010
24.03.2004, 11:48 Uhr
(un)wissender
Niveauwart


Sag mal ~MAN, dein Programm ist weder ANSI C, noch korrekt!
Oder ist 2 eine Primzahl, oder 143?
Du kannst nicht einfach durch 3,5,7 teilen und daraus schließen, ob Prim oder nicht!
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
24.03.2004, 11:50 Uhr
(un)wissender
Niveauwart


Das mit dem Ausgeben der Zahlen war auch nicht gefordet, lies mal deinen erstem Post genau!


Bearbeitung:

Deine veränderte Variante hat ja schon Windalf sehr elegant und schnell gelöst!


--
Wer früher stirbt ist länger tot.

Dieser Post wurde am 24.03.2004 um 11:51 Uhr von (un)wissender editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
24.03.2004, 11:52 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


mit golfen ist gemeint das man versucht ein programm zu schreiben das aus möglichst wenig ascii-zeichen besteht...



Zitat:

Deine veränderte Variante hat ja schon Windalf sehr elegant und schnell gelöst!


ich wills mal faul und performant nennen...
--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 24.03.2004 um 11:52 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
24.03.2004, 11:52 Uhr
~MAN
Gast


oh.... wenn ich das nochmal überschau... hast recht 143 ist keine Primzahl...

und was verstehst du unter ANSI C? was ist denn an dem Progrmm nicht ANSI C (bin noch neu auf dem Gebiet, bin also da drin nich so fit)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
24.03.2004, 11:59 Uhr
(un)wissender
Niveauwart


Na, eigentlich ist das Pablos Sache, aber der scheint nicht da zu sein:

[Pablo on]
Es heißt int main() und return <Mein Fehlercode> sollte zurückgegeben werden
[virtual on]+
return <Mein Fehlercode> kann nach nach dem Standard weggelassen werden!
[virtual off]
[Pablo off]

Außerdem solltest du dich nicht darauf verlassen, dass args[1] existiert!
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
24.03.2004, 12:10 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
01.04.2004, 04:08 Uhr
~Jarling
Gast


Hi Leuts...

und zwar hab ich vorhin diesen Beitrag gefunden und mal etwas rumprogrammiert.


C++:

#include <conio.h>
#include <iostream.h>

const int anz = 500;
bool prim[anz];

void main()
{
  for(int i=1; i<=anz; i++) prim[i]=true;

  for(int i=2; i<=anz; i++)
    if (prim[i]==true)
      for (int j=(2*i); j<=anz; j+=i)
        prim[j]=false;

  for(int i=(anz-500); i<=anz; i++)  // <-- Anzeigen der Primzahlen
    if (prim[i]==true) cout << "\n" << i << " ist eine Primzahl";

  getch();
}




berechnungen des Programms:
Primzahlen bis 100 Mio dauerte ca. 18 Sekunden; letzte Primzahl: 99999989
noch höhere Zahlen lassen sich nicht berechnen, da (ich vermute mal) sich die Arrays nicht größer als 100 000 000 definieren lassen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
01.04.2004, 10:31 Uhr
Oliver
S2-Pixelgeneral


Hmm, du kannst aber nicht


C++:
bool prim[anz];



schreiben, da muss du schon new nehmen.

Edit: Nein stimmt ist ja eine Konstante, man müsste mal seine Posts löschen können.
--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )

Dieser Post wurde am 01.04.2004 um 10:34 Uhr von Oliver Müller editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
01.04.2004, 16:57 Uhr
0xdeadbeef
Gott
(Operator)


Ich hab auch mal ein bisschen gebastelt. Ist auf Geschwindigkeit optimiert, rechnet aber noch. Ansonsten bieten sich hier natürlich table lookups an.

C++:
int p[99] = { 2 };

int isprime(int x) {
  int y;
  for(y = 0; p[y] * p[y] <= x; ++y)
    if(x % p[y] == 0)
      return 0;
  return 1;
}

int main() {
  int m, n = 0;

  puts("1:\tnein\n2:\tja");
  for(m = 3; m < 500; m += 2)
    if(isprime(m)) {
      p[++n] = m;
      printf("%d:\tja\n%d\tnein\n", m, m+1);
    } else {
      printf("%d:\tnein\n%d\tnein\n", m, m+1);
    }

  return 0;
}


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 01.04.2004 um 16:57 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
019
01.04.2004, 17:06 Uhr
0xdeadbeef
Gott
(Operator)


Etwa so:

C++:
int p[95] = { 2,   3,   5,   7,  11,  13,  17,  19,  23,
             29,  31,  37,  41,  43,  47,  53,  59,  61,
             67,  71,  73,  79,  83,  89,  97, 101, 103,
            107, 109, 113, 127, 131, 137, 139, 149, 151,
            157, 163, 167, 173, 179, 181, 191, 193, 197,
            199, 211, 223, 227, 229, 233, 239, 241, 251,
            257, 263, 269, 271, 277, 281, 283, 293, 307,
            311, 313, 317, 331, 337, 347, 349, 353, 359,
            367, 373, 379, 383, 389, 397, 401, 409, 419,
            421, 431, 433, 439, 443, 449, 457, 461, 463,
            467, 479, 487, 491, 499};

int main() {
  int m = 1, n = 0;
  for(; m < 500; ++m) {
    if(m < p[n])
      printf("%d:\tnein\n", m);
    else {
      printf("%d:\tja\n", m);
      ++n;
    }
  }
  return 0;
}


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 01.04.2004 um 17:07 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ Rätselecke ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: