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

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.
#9
vote_ok
von sasanaf (100 Punkte) - 03.02.2016 um 11:57 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {

        static void Main(string[] args)
        {

            Console.WriteLine("Primzahl eingeben");
            int EingabeDerPrimzahlX = Convert.ToInt32(Console.ReadLine());
            int[] PrimzahlArray = new int[EingabeDerPrimzahlX];
            int AktuelleArrayStelle = 0;
            int NumberToCheck = 2;
            while (AktuelleArrayStelle <= EingabeDerPrimzahlX - 1)
            {
                bool Primzahl = true;
                int WurzelDerPrimzahl = (int)Math.Sqrt(NumberToCheck) + 1;
                for (int x = 3; x <= WurzelDerPrimzahl; x++)
                {
                    if (NumberToCheck % x == 0)
                    {
                        Primzahl = false;
                        break; 
                    }
                }
                if (Primzahl)
                {
                    PrimzahlArray[AktuelleArrayStelle] = NumberToCheck;
                    //Console.WriteLine("Primzahl gefunden {0}", PrimzahlArray[AktuelleArrayStelle]);
                    //if {   }
                    //Console.Clear();
                    if (AktuelleArrayStelle % 100 == 0)
                    {                        
                     //   Console.WriteLine("Status der Berechnung bei {0:0.00}%.\nAktuellste Primzahl {1}", (Convert.ToDouble(AktuelleArrayStelle) / Convert.ToDouble(EingabeDerPrimzahlX)) * 100, PrimzahlArray[AktuelleArrayStelle]);
                    //    Console.SetCursorPosition(0, Console.CursorTop - 2);
                    }
                    AktuelleArrayStelle++;
                }


                if (NumberToCheck == 2)
                    NumberToCheck++;
                else
                    NumberToCheck += 2;
            }
            Console.Clear();
            Console.WriteLine("Gesuchte Primzahl gefunden {0}", PrimzahlArray[EingabeDerPrimzahlX - 1]);
            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