Definitionen
Lass mund nsei positive ganze Zahlen. Wir sagen , dass mist ein Divisor Drall von , nwenn es ganze Zahlen existiert , 1 < a ≤ bso dass n = a*bund m = (a - 1)*(b + 1) + 1. Wenn mkann bezogen werden , nindem keine oder mehr Teiler Drehungen , um es, dann mist ein Nachkomme von n. Beachten Sie, dass jede Zahl ein eigener Nachkomme ist.
Zum Beispiel betrachten n = 16. Wir können a = 2und wählen b = 8, da 2*8 = 16. Dann
(a - 1)*(b + 1) + 1 = 1*9 + 1 = 10
was zeigt, dass 10ist ein Teiler Twist von 16. Mit a = 2und sehen b = 5wir dann, dass dies 7eine Divisor-Wendung von ist 10. Also 7ist ein Nachkomme von 16.
Die Aufgabe
nBerechnen Sie bei einer positiven Ganzzahl die Nachkommen von nin aufsteigender Reihenfolge ohne Duplikate.
Regeln
Sie dürfen keine integrierten Operationen verwenden, die die Teiler einer Zahl berechnen.
Es werden sowohl vollständige Programme als auch Funktionen akzeptiert, und die Rückgabe eines Sammlungsdatentyps (wie einer Reihe von Datensätzen) ist zulässig, sofern er sortiert und duplikationsfrei ist. Die niedrigste Byteanzahl gewinnt, und Standardlücken sind nicht zulässig.
Testfälle
1 -> [1]
2 -> [2] (any prime number returns just itself)
4 -> [4]
16 -> [7, 10, 16]
28 -> [7, 10, 16, 25, 28]
51 -> [37, 51]
60 -> [7, 10, 11, 13, 15, 16, 17, 18, 23, 25, 28, 29, 30, 32, 43, 46, 49, 53, 55, 56, 60]
<für die natürlichen Zahlen definieren, erhalten Sie für jedes n eine kleinere Zahl, jedoch nicht für sich. Ich denke das sollte etwas ähnliches sein. Auf diese Weise denke ich, dass nur 4 sein eigener Nachkomme wäre (da bin ich mir allerdings nicht sicher).