Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [JAVA]Algorithmus Primzahlberechnung von zwei bis k gesucht (https://www.delphipraxis.net/103167-%5Bjava%5Dalgorithmus-primzahlberechnung-von-zwei-bis-k-gesucht.html)

NDR 11. Nov 2007 17:47


[JAVA]Algorithmus Primzahlberechnung von zwei bis k gesucht
 
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

freak4fun 11. Nov 2007 17:57

Re: [JAVA]Algorithmus Primzahlberechnung von zwei bis k gesu
 
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. ;)

NDR 11. Nov 2007 18:18

Re: [JAVA]Algorithmus Primzahlberechnung von zwei bis k gesu
 
@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! :thumb:
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^^

Der_Unwissende 11. Nov 2007 19:03

Re: [JAVA]Algorithmus Primzahlberechnung von zwei bis k gesu
 
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


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz