# Primzahlen, Delphi in Java



## FoBperfect (21. Jun 2010)

Hallo,

ich habe von meinem Informatik-Lehrer eine Aufgabe bekommen. Wir sollen alle in Java ein Programm schreiben, das Primzahlen herausfindet.

Ich bin auf folgenden Delphi-Code gestoßen und würde den jetzt gern in Java umsetzen. Wer kann mir helfen?


```
function prim(zahl:integer):boolean;
var i:integer;
begin
result:=true;
for i:=2 to round(sqrt(zahl)) do
if zahl mod i=0 then
result:=false;
end;

procedure tform1.button1click(sender: tobject);
var i:integer;
begin
listbox1.clear;
for i:=2 to strtoint(edit1.text) do
if prim(i)=true then
listbox1.items.add(inttostr(i));
form1.caption:=inttostr(listbox1.items.count);
end;

end.
```

von Primzahlen mit Delphi herausfinden


----------



## Drake (21. Jun 2010)

FoBperfect hat gesagt.:


> Wer kann mir helfen?



Wobei?


----------



## Landei (21. Jun 2010)

Du bist nicht der erste, der diese Aufgabe bekommen hat, es gibt auch tonnenweise Java-Code dafür. Aber warum überlegst du nicht selbst, wie du die Aufgabe lösen kannst, sie ist doch nicht so schwer. Und der Algorithmus sollte klar sein (auch wenn es da noch etliche Optimierungsmöglichkeiten gibt): Für gegebenes n, teste für jedes i von 2 bis einschließlich Wurzel n, ob i dein n teilt. Findest du so ein i, ist n zusammengesetzt, ansonsten ist es eine Primzahl.

Teilbarkeit testet man in Java mit dem Rest-Operator % (das ist das mod in Delphi). y teilt x, wenn bei der Division von x durch y der Rest 0 bleibt, also x % y == 0 gilt.


----------

