C :: Aufgabe #46 :: Lösung #2
2 Lösungen

#46
Alle Primzahlen bis zu einem Maximalwert ermitteln
Anfänger - C
von devnull
- 26.02.2014 um 18:36 Uhr
Es soll ein Programm geschrieben werden, welches alle Primzahlen im Bereich von 2 bis zu einem Maximalwert sucht und auf der Konsole ausgibt.
Den Maximalwert soll der Benutzer beim Programmaufruf auf der Kommandozeile angeben können.
Der Algorithmus zur Primzahlensuche ist frei wählbar.
Den Maximalwert soll der Benutzer beim Programmaufruf auf der Kommandozeile angeben können.
Der Algorithmus zur Primzahlensuche ist frei wählbar.
#2

von kathleenw (3600 Punkte)
- 01.07.2020 um 09:05 Uhr

#include <stdio.h> #include <stdbool.h> bool istPrim(int zahl); int main(void) { int obere_grenze, i, anzahl; anzahl = 0; printf("Bis zu welchen Maximalwert sollen Primzahlen geuscht werden?: "); scanf("%d", &obere_grenze); for (i=2;i<=obere_grenze;i++){ if (istPrim(i)==true) { printf("%d ",i); anzahl++; } } printf("\nVon 2 bis %d gibt es %d Primzahlen. \n", obere_grenze,anzahl); } //prüfen ob es eine Primzahl ist bool istPrim(int zahl) { bool prim, faktorgefunden; int t; if (zahl <= 2) { if (zahl < 2) prim = false; else prim = true; } else { if (zahl%2 == 0) faktorgefunden = true; else { faktorgefunden = false; t = 3; while (t*t <= zahl && faktorgefunden == false) { if (zahl % t == 0) faktorgefunden = true; else t=t+2; } } } if (faktorgefunden==false) prim = true; else prim = false; return prim; }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1