C# :: Aufgabe #58 :: Lösung #4

11 Lösungen Lösungen öffentlich
#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.
#4
vote_ok
von syzon (410 Punkte) - 21.08.2014 um 13:39 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections;

namespace Primzahlen
{
    class Primzahlen
    {
        static void Main(string[] args)
        {
            ArrayList zahlenliste = new ArrayList();
            ArrayList ergebnisliste = new ArrayList();
            int ZahlInZahlenliste = 2;

            Console.WriteLine("Bitte Maximalwert eingeben");
            int max = Convert.ToInt32(Console.ReadLine());

            //Zahlenliste initialisieren
            for (int i = 0; i < max - 1; i++)
            {
                zahlenliste.Insert(i, ZahlInZahlenliste);
                ZahlInZahlenliste = ZahlInZahlenliste + 1;
            }

            for (int i = 0; i < zahlenliste.Count; i++)
            {
                bool isPrime = true;
                if ((Convert.ToInt32(zahlenliste[i]) == 2))
                {
                    ergebnisliste.Add(Convert.ToInt32(zahlenliste[i]));
                    continue;
                }
                for (int j = 0; j < i; j++)
                {
                        if ((Convert.ToInt32(zahlenliste[i]) % Convert.ToInt32(zahlenliste[j])) == 0)
                        {
                            isPrime = false;
                            break;
                        }
                }

                if (isPrime == true)
                {
                    bool AktuelleZahlInErgebnisliste = false;
                    for (int z = 0; z < ergebnisliste.Count; z++)
                    {
                        if (Convert.ToInt32(zahlenliste[i]) == Convert.ToInt32(ergebnisliste[z]))
                        {
                            AktuelleZahlInErgebnisliste = true;
                        }
                    }
                    if (AktuelleZahlInErgebnisliste == false)
                    {
                        ergebnisliste.Add(Convert.ToInt32(zahlenliste[i]));
                    }
                }
            }

                //Ausgabe
                Console.WriteLine("Die Primzahlen sind: ");
                for (int y = 0; y < ergebnisliste.Count; y++)
                {
                    Console.WriteLine(ergebnisliste[y]);
                }
                Console.ReadLine();
            }
        }
    }

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben