![]() Vorherige Seite |
![]() Eine Ebene hoch |
![]() Nächste Seite |
---|
Im Abschnitt 3.5.5 wurde Bezug auf einen Primzahlgenerator genommen, dessen Quellcode hier vollständig wiedergegeben wird. In der äußeren Schleife werden die zu prüfenden Zahlen von 1 bis 100 durchlaufen. In der inneren Schleife wird für die Zahl N geprüft, ob für einen Divisor im Bereich 2 bis N-1 eine ganzzahlige Division ohne Rest möglich ist. Wenn dies für keine Zahl möglich ist, handelt es sich um eine Primzahl, die dann ausgegeben wird.
/* Prim1.c: Einfaches Programm zur Berechnung von Primzahlen */ #include <stdio.h> /* Gr��te zu testende Zahl */ #define MAX_ZAHL 100 int main() { int Proband; /* aktuelle Zahl, die gepr�ft werden soll */ int Divisor; /* aktueller Divisor */ char Primzahl; /* Marke f�r Primzahl */ /* �berschrift */ printf("Primzahlen zwischen 1 und %d:\n", MAX_ZAHL); /* Schleife f�r alle zu pr�fenden Zahlen */ for(Proband=1; Proband<=MAX_ZAHL; Proband++) { Primzahl = 1; /* Annahme: Es ist eine Primzahl */ /* Schleife f�r alle Divisoren */ for(Divisor=2; Divisor<Proband; Divisor++) { /* Wenn kein Rest bei Division: keine Primzahl */ if(Proband%Divisor==0) Primzahl = 0; } /* Ggf. Primzahl ausgeben */ if(Primzahl) printf("%8d", Proband); } printf("\n"); /* Zeilenvorschub */ return 0; }