![]() 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;
}