C# :: Aufgabe #58 :: Lösung #8
11 Lösungen

#58
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.
#8

von niknik (1230 Punkte)
- 13.08.2015 um 13:14 Uhr
Sieb von Eratosthenes
C#-Code

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SiebDesErasthotenes { class Program { public static List<int> Primzahlsucher(int n) { bool[] check = new bool[n]; List<int> prim = new List<int>(); for (int i = 0; i < n; i++) { check[i] = false; } for (int i = 2; i < (int)Math.Floor((decimal)Math.Sqrt(n)); i++) { if (!check[i]) { prim.Add(i); for (int j = i * i; j < n; j += i) { check[j] = true; } } } for (int i = (int)Math.Floor((decimal)Math.Sqrt(n)) + 1; i < n; i++) { if (!check[i]) { prim.Add(i); } } return prim; } static void Main(string[] args) { int number; do { Console.WriteLine("Bis zu welchem Maximalwert sollen alle Primzahlen gesucht werden?: "); } while (!int.TryParse(Console.ReadLine(), out number) || number < 2); List<int> primzahlen = Primzahlsucher(number); int zaehler = 1; foreach (int item in primzahlen) { Console.WriteLine("{0,5}.: {1,10}", zaehler++, item); } Console.ReadLine(); } } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1