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

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.
#3
2 Kommentare
vote_ok
von Gisbert5020 (3120 Punkte) - 02.05.2014 um 14:40 Uhr
Quellcode ausblenden C#-Code

using System;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Geben Sie eine Zahl ein, bis zu der die Primzahlen berechnet werden:");
            int zahl = Convert.ToInt16(Console.ReadLine());
            for (int i = 1; i <= zahl; i++)
            {
                int erg = i % 2;
                if (erg == 0 & i != 2)
                    continue;
                erg = i % 3;
                if (erg == 0 & i != 3)
                    continue;
                erg = i % 5;
                if (erg == 0 & i != 5)
                    continue;
                erg = i % 7;
                if (erg == 0  & i != 7)
                    continue;
                Console.Write(i + " ");
            }
            Console.ReadLine();
        }
    }
}

Kommentare:

pocki

Punkte: 4190

128 Aufgaben
40 Lösungen
6 Kommentare

#1
03.05.2014 um 23:15 Uhr
Diese Berechnung funktioniert nur, wenn die Zahl klein ist.
Beispiel: Gibt man eine Zahl größer 143 ein, so wird nach diesem Programm die Zahl 143 als Primzahl ausgegeben, obwohl sie keine ist (11*13=143)

Damit dieses Programm auch bei größeren Zahlen stimmt, muss man bei der Moduloüberprüfung auf alle bisherigen Primzahlen auch überprüfen.
post_arrow
39 0

Drizzt1990

Punkte: 150


3 Lösungen
2 Kommentare

#2
12.09.2014 um 11:03 Uhr
Die Lösung ist falsch...

lasst einfach mal Lösungen bis 500 berechen oder so... da ist dann z.B. 493 bei, was keine Primzahl ist da 17*29=493
post_arrow
43 0
Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben
2107541

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.