Mal wieder was zahlentheoretisches.
Würde gerne die Teileranzahlfunktion implementieren (Teileranzahlfunktion ? Wikipedia).
Die Teiler einer Zahl zu bestimmen ist trivial. -> Schleife von 2 bis n/2 und prüfen ob die n durch die Zahl teilbar ist.
Bei der Teileranzahlfunktion stehen mir allerdings zwei Probleme im Weg.
Zum einen muss ich ja prüfen ob ein Teiler prim ist, oder ob der Teiler selbst Teiler enthält. Zum anderen würde dies ja eine Rekursion zur Folge haben.
Zur Veranschaulichung ein kleines Beispiel:
n = 16
16 ist teilbar durch, 2,4,8
wobei 4 als 2^2 und 8 als 2^3 geschrieben werden kann.
Demnach hat 16 einen primen Teiler, nämlich 2. (2^4). Der Wert der Teileranzahlfunktion d(n) wäre demnach 3, da dort 1 und n auch als Zeiler gesehen werden.
Kann mir jemand helfen, die Funktion in Java zu implementieren?
Würde gerne die Teileranzahlfunktion implementieren (Teileranzahlfunktion ? Wikipedia).
Die Teiler einer Zahl zu bestimmen ist trivial. -> Schleife von 2 bis n/2 und prüfen ob die n durch die Zahl teilbar ist.
Bei der Teileranzahlfunktion stehen mir allerdings zwei Probleme im Weg.
Zum einen muss ich ja prüfen ob ein Teiler prim ist, oder ob der Teiler selbst Teiler enthält. Zum anderen würde dies ja eine Rekursion zur Folge haben.
Zur Veranschaulichung ein kleines Beispiel:
n = 16
16 ist teilbar durch, 2,4,8
wobei 4 als 2^2 und 8 als 2^3 geschrieben werden kann.
Demnach hat 16 einen primen Teiler, nämlich 2. (2^4). Der Wert der Teileranzahlfunktion d(n) wäre demnach 3, da dort 1 und n auch als Zeiler gesehen werden.
Kann mir jemand helfen, die Funktion in Java zu implementieren?