1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Lösungsvorschlag

    • Frage
  • Frisco
  • 21. November 2007 um 01:02
  • Unerledigt
  • Frisco
    4
    Frisco
    Mitglied
    Punkte
    100
    Beiträge
    16
    • 21. November 2007 um 01:02
    • #1

    Hi jetzt bin ich es nochmal zur späten stunde...
    und zwar habe ich ein kleines Problem,
    man soll primzahlen bestimmen mittels dem Siieb von Er....
    mein quellcode lautet dabei:
    public class sve{

    public static void sve( int n ){


    int i,j=0;
    int[] a=new int[n];

    a[1]=1; // 1 ist immer Primzahl
    for(i=2; i < n; i++) //Feld mit Einsen fuellen
    a[i]=1;
    for(i=2; i <= n/2 ;i++)
    { //Kontrolle, ob Zahl oder Viel-
    if(a[i]==1) //faches schon geprueft wurde
    for( j=2; j < n/i ; j++) //Kontrolle, ob Zahl Primzahl,
    a[i*j]=0; //wenn nicht, 0 setzen
    }
    for(i=1; i < n ; i++) //Ausgabe: wenn Element 1, Index
    if(a[i]==1) //als Primzahl ausgeben
    System.out.print(i+" ");

    }
    }
    dabei soll man noch die anzahl der gefundenen primzahlen ausgeben,
    dabei scheitere ich leider noch....
    jetzt habe ich da noch ein Porblem ich kann nur die primzahlen bis 997 bestimmen gibt es vielleicht noch einen besseren weg um primzahlen bis z.b. 100000 zu bestimmen??
    wäre super danke

  • Frisco
    4
    Frisco
    Mitglied
    Punkte
    100
    Beiträge
    16
    • 21. November 2007 um 23:51
    • #2

    hat da niemand ne ahnug wie ich vielleicht das programm noch anderst schreiben könnte??

  • beat
    14
    beat
    Mitglied
    Reaktionen
    2
    Punkte
    2.007
    Beiträge
    338
    • 22. November 2007 um 02:21
    • #3

    es gibt in Java Klassen die dir Methoden zur Berechnung von Large Primas anbieten, glaube zb die Klasse BigInteher

    Visit: http://itunes.apple.com/de/artist/cbh-mobile/id338117761

  • Frisco
    4
    Frisco
    Mitglied
    Punkte
    100
    Beiträge
    16
    • 23. November 2007 um 00:18
    • #4

    oder hat vielleicht jemadn eine bessere lösung für mein Problem...
    leider finde ich keinen programmierweg mit dem ich die anzahl bestimmen kann
    grüßle

  • a9bejo
    21
    a9bejo
    Mitglied
    Reaktionen
    42
    Punkte
    4.697
    Beiträge
    913
    • 23. November 2007 um 09:57
    • #5
    Zitat von Frisco

    leider finde ich keinen programmierweg mit dem ich die anzahl bestimmen kann

    "mitzaehelen": Wenn Du eine Primzahl gefunden hast, erhoehst Du einen Zaehler. Oder Du speicherst die gefunden Zahlen in einer Liste und nimmst dann die Laenge der Liste.

    Uebrigens: http://www.informatik-forum.at/showpost.php?p=140998&postcount=3

    lg, Benjamin Ferrari, bookworm.at

  • WhiskeyCola
    2
    WhiskeyCola
    Mitglied
    Punkte
    20
    Beiträge
    4
    • 23. November 2007 um 11:02
    • #6

    Hier etwas das ich schon länger in C# geschrieben habe.

    Code
    // funktion zur überprüfung ob ToBeChecked eine Primzahl ist
            private bool IsPrime(Int64 ToBeChecked) {
                Int64 check = ToBeChecked / 2;
                for (Int64i = 2; i < check + 1; i++) {
                    if (ToBeChecked % i == 0)
                        return false;
                    check = ToBeChecked / i;
                }
                return true;
            }
    
    
            // anzahl aller primzahlen unter oGrenze
            private Int64 AnzOfAllPrimes(Int64 oGrenze) {
                Int64 summe = 0;
                for (int i = 2; i < oGrenze; i++) {
                    if(IsPrime(i)) summe++;
                }
                return summe;
            }
    Alles anzeigen

    Bei Bedarf sind die Methoden von Int64 auf BigInteger oÄ zu erweitern/überladen (klarerweise).

    Hope it helps,
    lg,
    Patrick

    :winking_face: Lebe wie du, wenn du stirbst, wünschen wirst gelebt zu haben (Christian F. Gellert) :winking_face:

  • Maximilian Rupp 27. Dezember 2024 um 12:04

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung