Hinweis: Dies ist ein Versuch, die Permutationsfrage (n) von guest271314 zu recyceln.
Es gibt ein interessantes Muster, das sich bildet, wenn Sie die Unterschiede zwischen lexografisch sortierten Permutationen von Basis-10-Zahlen mit aufsteigenden eindeutigen Ziffern finden. Hat zum Beispiel 123
Permutationen:
123 132 213 231 312 321
Wenn Sie die Unterschiede zwischen diesen finden, erhalten Sie die Reihenfolge
9 81 18 81 9
Die alle durch neun teilbar sind (aufgrund der Ziffernsumme der Basis-10-Zahlen) und palindromisch sind.
Insbesondere wenn wir die nächste Nummer verwenden 1234
, erhalten wir die Sequenz
9 81 18 81 9 702 9 171 27 72 18 693 18 72 27 171 9 702 9 81 18 81 9
Dies erweitert die vorherige Sequenz und bleibt gleichzeitig um palindrom . Dieses Muster gilt immer, auch wenn Sie mehr als Zahlen verwenden, obwohl die Länge der Sequenz für Zahlen beträgt . Beachten Sie, dass wir zur Verwendung der obigen Zahlen nicht zu einer anderen Basis wechseln, sondern nur die Zahl mit multiplizieren , z. B. .n ! - 1 n 10 x [ 1 , 12 , 11 ] 10 = 1 ≤ 10 2 + 12 ≤ 10 1 + 11 ≤ 10 0 = 23110
0 to 9
Ihr Ziel ist es, diese Sequenz zu implementieren, indem Sie jedes Element als Vielfaches von neun zurückgeben. Zum Beispiel sind die ersten 23 Elemente dieser Sequenz:
1 9 2 9 1 78 1 19 3 8 2 77 2 8 3 19 1 78 1 9 2 9 1
Einige andere Testfälle (0 indiziert):
23 => 657
119 => 5336
719 => 41015
5039 => 286694
40319 => 1632373
362879 => 3978052
100 => 1
1000 => 4
10000 => 3
100000 => 3
Regeln:
- Die Einreichung kann eine der folgenden sein:
- Ein Programm / eine Funktion, die eine Nummer annimmt und die Nummer an diesem Index zurückgibt, entweder 0 oder 1 indiziert.
- Ein Programm / eine Funktion, die eine Zahl annimmt und bis zum ten Index zurückkehrt, entweder 0 oder 1 indiziert.
- Ein Programm / eine Funktion, die die Sequenz unendlich ausgibt / zurückgibt.
- Das Programm sollte theoretisch in der Lage sein, theoretisch bis zum Element und darüber hinaus zu arbeiten, obwohl ich verstehe, ob Zeit- / Speicherbeschränkungen dies fehlschlagen lassen. Dies bedeutet insbesondere, dass Sie die Ziffern nicht verketten und als Basis 10 auswerten können, da so etwas wie falsch wäre.
- Dies ist Code-Golf , also gewinnt die kürzeste Implementierung für jede Sprache!
Anmerkungen:
- Dies ist OEIS A217626
- Ich biete eine Prämie von 500 für eine Lösung an, die die Elemente direkt berechnet, ohne die tatsächlichen Permutationen zu berechnen.
- Die Sequenz funktioniert für alle zusammenhängenden Ziffern. Zum Beispiel sind die Unterschiede zwischen den Permutationen von dieselben wie für .
3628799 => -83676269