Definitionen
Lass m
und n
sei positive ganze Zahlen. Wir sagen , dass m
ist ein Divisor Drall von , n
wenn es ganze Zahlen existiert , 1 < a ≤ b
so dass n = a*b
und m = (a - 1)*(b + 1) + 1
. Wenn m
kann bezogen werden , n
indem keine oder mehr Teiler Drehungen , um es, dann m
ist ein Nachkomme von n
. Beachten Sie, dass jede Zahl ein eigener Nachkomme ist.
Zum Beispiel betrachten n = 16
. Wir können a = 2
und wählen b = 8
, da 2*8 = 16
. Dann
(a - 1)*(b + 1) + 1 = 1*9 + 1 = 10
was zeigt, dass 10
ist ein Teiler Twist von 16
. Mit a = 2
und sehen b = 5
wir dann, dass dies 7
eine Divisor-Wendung von ist 10
. Also 7
ist ein Nachkomme von 16
.
Die Aufgabe
n
Berechnen Sie bei einer positiven Ganzzahl die Nachkommen von n
in 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).