[.NET] [C#] Primzahlrechner

Dieses Thema im Forum "Projekte / Codes" wurde erstellt von juppwatis, 22. September 2007 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #1 22. September 2007
    [C#] Primzahlrechner

    hi @ all

    ich habe es endlich geschafft mal nen primzahlrechner zu schreiben. es mag zwar ein 5min-prog sein für profis, doch für mich als anfänger wars wirklich nicht ganz so einfach. ich bin ca. 30-45min drangehockt. doch jetzt habe ich es endlich. hier mal mein code:

    Code:
    using System;
    
    namespace primzahl
    {
     class Program
     {
     public static void Main(string[] args)
     {
     int divisor;
     bool istEinePrimzahl;
     int testeZahl; 
     ConsoleKeyInfo eingabe = new ConsoleKeyInfo();
     
     Console.Write("Primzahlenrechner");
     do
     {
     Console.Write("\n\nGeben Sie eine Zahl ein: ");
     testeZahl = Int32.Parse(Console.ReadLine());
     
     istEinePrimzahl = true; //Wert auf TRUE setzen, damit in Schleife verwendbar
     
     //Schleifenabfrage: Eingabe durch alle Zahlen zw. 2 und der Eingaben teilen
     for (divisor = 2; divisor < testeZahl && istEinePrimzahl; divisor++)
     {
     //Wenn die Eingabe durch etwas teilbar ist und es kommt 0 raus...
     if (testeZahl % divisor == 0)
     {
     //...dann ist es keine Primzahl
     Console.WriteLine("{0} ist keine Primzahl\n", testeZahl);
     istEinePrimzahl = false;
     } 
     }
     //Wenn es eine Primzahl ist, dann als eine solche ausgeben
     if (istEinePrimzahl)
     {
     Console.WriteLine("{0} ist eine Primzahl\n", testeZahl);
     } 
     
     Console.Write("Wollen Sie noch eine Zahl testen? (J/N)");
     eingabe = Console.ReadKey();
     }
     while (eingabe.Key==ConsoleKey.J); 
     Console.Write("\n\nPress any key to continue...");
     Console.ReadKey(true);
     }
     }
    }
    
    und was haltet ihr davon? was kann ich verbessern usw? bin über jede rückmeldung froh. als anfänger kann man nicht genug meinungen/verbesserungen hören

    mfg
     

  2. Anzeige
    Heute: Deals & Sale mit stark reduzierten Angeboten finden.
  3. #2 23. September 2007
    AW: [C#] Primzahlrechner

    schreibt ja gar keiner was dazu? keiner ne verbesserung anzumerken oder was ist los? dachte mir, dass ich vll noch die ein oder andere verbesserung oder einen hilfreichen tipp wg formatierung oder so was erhalten kann aber anscheinenden nicht

    mfg
     
  4. #3 23. September 2007
    AW: [C#] Primzahlrechner

    scheint gut zu funktionieren, jedoch gibts bei mir ne fehlermeldung bei zu großen zahlen, oder wenn ich garnichts eingebe ^^
     
  5. #4 24. September 2007
    AW: [C#] Primzahlrechner

    ja das ist mir auch schon aufgefallen. aber ich habe keine ahnung wie ich das behenben kann. hab versucht mal den datentyp ulong zu nehmen aber es kommt immer noch ne fehlermeldung, wenn die zahl zu groß ist :(
    und wenn man nen buchstaben eingibt...da weiß ich auch nicht, wie ich es beheben soll
    hab vll wer ne idee?

    mfg
     
  6. #5 24. September 2007
    AW: [C#] Primzahlrechner

    Ueberpruefen, ob es eine Zahl ist.
    Du kannst ja z.B. einen String einlesen, und dann zur Zahl umwandeln. Die Umwandelmethode sollte dir sagen, ob es sich wirklich um eine Zahl handelt, oder nicht.

    Mfg,

    Kolazomai
     
  7. #6 24. September 2007
    AW: [C#] Primzahlrechner

    Ich kenne mich mit c# nicht aus, aber um eine Fehlermeldung dass vom Programm kommt abzufangen und bearbeiten zu können, kannste das so genannte "Exception Handling"(Fehlerbehandlung) programmieren. Das hat den Vorteil dass dein Programm nicht unterbrechen wird bzw. es wird nicht beendet. google einfach nach c# exception handling und wirst dann sehen was ich meine.
    Ausserdem die Lösung zu dem was du machen willst nennt sich, Sieb des Erathostenes :)
    Dabei wird eine Rekursionsmethode programmiert und der Code wird um 2/3 kürzer ;)
    Viel Spaß beim googlen ^^
     
  8. #7 24. September 2007
    AW: [C#] Primzahlrechner

    ja das mit dem Sieb des Erathostenes ist richtig geil. ich glaube ich werde das nahher oder so mal versuche umzusetzen. bei wikipedia hab ich das mal angeschaut. echt nice. aber ich muss es ja nicht in ner methode proggen, sondern kann es ja auch einfach so programmieren...
    aber das prob mit den buchstaben hab ich leider immer noch :(

    mfg
     
  9. #8 15. Mai 2008
    AW: [C#] Primzahlrechner

    wir haben in der schule ein einfaches Javaprogramm geschrieben, dass aus einem angegebenen zahlenbereich alle primzalhen raussucht und dann diese und die benötigte zeit ausgibt

    funzt auch als kleines Benchmark prog ;)

    wer den code will einfach PM

    mfg
     
  10. #9 22. Mai 2008
    AW: [C#] Primzahlrechner

    du kannst es bescheunigen indem du den divisior nur bis zur hälfte der zu überprfenden Primzahl zählen lässt.
    Bsp:
    15 / 8 <- brauchst du nicht
    15 / 7 <- passt
    ...
    15 / 5 <- keine primzahl
     

  11. Videos zum Thema
Die Seite wird geladen...