AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [JAVA]Algorithmus Primzahlberechnung von zwei bis k gesucht
Thema durchsuchen
Ansicht
Themen-Optionen

[JAVA]Algorithmus Primzahlberechnung von zwei bis k gesucht

Ein Thema von NDR · begonnen am 11. Nov 2007 · letzter Beitrag vom 11. Nov 2007
Antwort Antwort
Benutzerbild von NDR
NDR

Registriert seit: 18. Apr 2007
28 Beiträge
 
Delphi 7 Enterprise
 
#1

[JAVA]Algorithmus Primzahlberechnung von zwei bis k gesucht

  Alt 11. Nov 2007, 18:47
Hallo

Ich brauch ein Programm in JAVA das mir die Primzahlen
von 2 bis zum Parameter k als Array ausgibt.

Ein Code für die alle zahlen bis k hab ich:
Code:
public int[] primAnz(k)
{ int i=1;
  int[] Array = new int[k];
   for (i=0; i<=k-1; i++){Array[i]=i+1;}
}
und einen Code für die Primzahlüberprüfung hab ich auch:
Code:
public boolean prim(int x)
{
 for (int i=2; x>i; i++){
 if (x%i==0) return false;} 
 return true;
}
So. Mein Problem besteht jetzt darin, das ich die beiden
Codes nicht sinnvoll zusammensetzten kann so das das gewünschte
Ergebnis herraus kommt. Hat einer von euch da 'ne Idee??
mfg NDR
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

Re: [JAVA]Algorithmus Primzahlberechnung von zwei bis k gesu

  Alt 11. Nov 2007, 18:57
Wir hatten noch keine Array in Java , habs trotzdem versucht.
Code:
public int[] primAnz(k){ 
  int i=1;
  int[] Array = new int[k];
  for (i=0; i<=k-1; i++){
    if(prim(i)){
      Array[].Add(i);
    }
  }
}

public boolean prim(int x)
{
for (int i=2; x>i; i++){
if (x%i==0) return false;}
return true;
}
Du gehst alle Zahlen durch, wenn die Zahl an der Stelle i eine Primzahl ist, wird sie dem Array hinzugefügt. Hoffe das stimmt so.
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Benutzerbild von NDR
NDR

Registriert seit: 18. Apr 2007
28 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: [JAVA]Algorithmus Primzahlberechnung von zwei bis k gesu

  Alt 11. Nov 2007, 19:18
@freak4fun:
Zitat:
Du gehst alle Zahlen durch, wenn die Zahl an der Stelle i eine Primzahl ist, wird sie dem Array hinzugefügt. Hoffe das stimmt so. Wink
stimmt so!
aber das problem bei den code ist jetzt das die funktion >Array[].Add(i);< so nicht (bei mir jedenfalls) funktioniert da so denk ich mal, keine stelle zugewiesen wird wo der Wert gespeichert werden soll...
ich danke trotzdem für deine idee^^
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#4

Re: [JAVA]Algorithmus Primzahlberechnung von zwei bis k gesu

  Alt 11. Nov 2007, 20:03
Hi,
am einfachsten kannst Du Dir mit einer Liste (java.util.List / java.util.ArrayList / java.util.Vector /...) weiterhelfen. Achtung, java.util.List ist nur ein Interface. Die kann man alle auch in ein Array umwandeln.
Alternativ kannst Du halt auch ausnutzen, dass Du maximal k Primzahlen finden kannst. Leg also einfach ein Array der Größe k temporär an und verwalte dort die tatsächliche Belegung in einer lokalen Variable. Diese Variable kannst Du einfach mit 0 initialisieren und immer wenn Du eine Primzahl einfügst erhöhst Du die um 1. Somit entspricht die dem Index der ersten freien Zelle im Array.
Als Ergebnis der Methode kannst Du dann einfach ein Array anlegen, dass so lang wie diese lokale Variable ist und kopierst eben von 0 bis Wert der Variable in dieses neue Array, dass Du dann zurück gibst.

Gruß Der Unwissende
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz