vw teilemarkt

Für Informatiker - Primzahlenberechnung!

Motors-Freak
  • Themenstarter

Hallo liebe Informatiker im Forum.
Wir Programmieren zur Zeit mit C (Visual Studio) verschiedene Konsolen Basierte Programme. Die Programme sind noch relativ simpel,d a ich erst um ersten Semester bin und nur Informatik I habe.
Also, wir sollen ein Programm schreiben, welches alle Primzahlen zwischen 1 und 1.000.000 ausgibt. Die Zahl 1 brauch nicht mit ausgegeben werden. Mein Quelltext ist bereits fertig, jedoch brauch das Programm noch 18Sekunden was mir zu langsam ist. Es sollte innerhalb von 5 Sekunden abgearbeitet sein.
Ich habe schon folgende Tricks verwenden:
-Nur gerade Zahlen prüfen
-Die Zahlen nur bis zur hälfte des Teilers prüfen
-Die zahlen nur bis zur Wurzel der zu prüfenden Zahl prüfen

Unten mein Quelltext. Würde mich über Tipps freuen! Achja, ich poste das ganze in dieses Forum, da noch 50 andere aus meinem Studienkur auf der Suche nach dem Besten Quelltext sind und ich gerne meinen Quelltext für mich behalten möchte.
Gruß

P.S. Es sollte nur die Bibliotheken <stdio.h> und <math.h> enthalten!

#include<stdio.h>
#include<math.h>

void main ()
{
int rest, teiler, zahl, wartenaufbestaetigung;
double wurzel;

printf ("Wir haben ein Programm erstellt,nwelches alle Primzahlen bis 1.000.000 ausgibt.nGeben sie eine beliebige Zahl ein und bestaetigen sie mit Enterndamit das Programm startet:n");

scanf("%i",&wartenaufbestaetigung);
printf ("2n");

for (zahl=3; zahl<=1000000; zahl=zahl+2)
{
teiler=2;

do
{ wurzel=sqrt((double) zahl);
rest = zahl % teiler;
teiler++;
}
while ( rest != 0 && ( teiler < (zahl/2) && ( (teiler)<wurzel ) ) );

if (rest != 0)
{
printf("%in", zahl);
}
}
}



Gott sei Dank hab ich das hinter mir!
Tut mir leid, hab auch keinerlei Lust mich da reinzudenken

Aber dennoch viel Erfolg!


grashalm
  • Administrator
  • polotreff.de Team
grashalm's Polo 6N

hi, 
hast du die möglichkeit das irgendwoe formatiert zu posten? dann könnt ich mal rüberschauen, aber so ist das beinahe unmöglich



Motors-Freak
  • Themenstarter

Zitat:

Gott sei Dank hab ich das hinter mir!
Tut mir leid, hab auch keinerlei Lust mich da reinzudenken

Aber dennoch viel Erfolg!


Danke für den Sinnlosen Beitrag!

Zitat:
hi,
hast du die möglichkeit das irgendwoe formatiert zu posten? dann könnt ich mal rüberschauen, aber so ist das beinahe unmöglich


Werde ich morgen formatiert reinstellen ohne //Info .
Danke schonmal im voraus!



EDIT: Habe den Quelltext oben überarbeitet!


pastebin ist für einen solchen Code ganz sinnvoll
hier:
[Dieser Link ist nur für Mitglieder sichtbar




  • dann kann man auch das ganze besser überblicken
    ich programmiere nur mit java zwar fast gleich allerdings habe ich keine ahnung wie man zeit sparen kann

    gruß


  • Motors-Freak
    • Themenstarter

    Steige durch die Seite nicht ganz durch. Oben steht mein Quelltext und unten ein "korrigierter"? Der untere enthält etliche Fehler und ist nicht schneller...

    ACHTUNG: Problem scheint zu sein, dass man hier im Forum keinen Backslash posten kann,... somit fehlen alle Backshlashes in meinen Quelltext!


    Zitat:

    Danke für den Sinnlosen Beitrag!

    Hab ganz vergessen das Spass seit neustem verboten is. Entschuldige.


    Motors-Freak
    • Themenstarter

    Grashalm?

    Muss die ganze Geschichte Dienstag abgeben, wäre also wundernett falls du nochmal drüber schauen würdest.


    Antworten erstellen