Ein Teiler einer Zahl n ist eine beliebige Zahl, die n gleichmäßig teilt , einschließlich 1 und n selbst. Die Anzahl der Teiler d (n) gibt an, wie viele Teiler eine Zahl hat. Hier ist d (n) für das erste Paar n:
n divisors d(n)
1 1 1
2 1, 2 2
3 1, 3 2
4 1, 2, 4 3
5 1, 5 2
6 1, 2, 3, 6 4
Wir können wiederholt die Anzahl der Teiler von einer Zahl subtrahieren. Beispielsweise:
16 = 16
16 - d(16) = 16 - 5 = 11
11 - d(11) = 11 - 2 = 9
9 - d( 9) = 9 - 3 = 6
6 - d( 6) = 6 - 4 = 2
2 - d( 2) = 2 - 2 = 0
In diesem Fall dauerte es 5 Schritte, um zu 0 zu gelangen.
Schreiben Sie ein Programm oder eine Funktion, die bei einer nichtnegativen Zahl n die Anzahl der Schritte zurückgibt, die erforderlich sind, um sie durch wiederholtes Subtrahieren der Anzahl der Teiler auf 0 zu reduzieren.
Beispiele:
0, 0
1, 1
6, 2
16, 5
100, 19
100000, 7534