Einleitung (kann ignoriert werden)
Es ist ein bisschen langweilig, alle positiven Zahlen in der regulären Reihenfolge (1, 2, 3, ...) anzuordnen, nicht wahr? Hier ist also eine Reihe von Herausforderungen im Zusammenhang mit Permutationen (Umformungen) aller positiven Zahlen. Dies ist die vierte Herausforderung in dieser Reihe (Links zur ersten , zweiten und dritten Herausforderung).
In dieser Herausforderung werden wir nicht nur eine Permutation der natürlichen Zahlen untersuchen, sondern eine ganze Welt von Permutationen!
Im Jahr 2000 Clark Kimberling stellte ein Problem in der 26 - ten Ausgabe von Crux mathe , eine wissenschaftlichen Zeitschrift der Mathematik von dem kanadischen Mathematical Society veröffentlicht. Das Problem war:
Kommt jede positive ganze Zahl in dieser Reihenfolge genau einmal vor?
Im Jahr 2004 vorgesehen Mateusz Kwaśnicki positiven Beweis in der gleichen Zeitschrift und im Jahr 2008, er veröffentlichte einen formellere und ( im Vergleich zu der ursprünglichen Frage) ein allgemeinere Beweis. Er formulierte die Sequenz mit den Parametern und :
Er bewies, dass für jedes so dass irrational ist, die Sequenz eine Permutation der natürlichen Zahlen ist. Da es unendlich viele und Werte gibt, für die dies zutrifft, ist dies wirklich eine ganze Welt von Permutationen der natürlichen Zahlen. Wir bleiben beim Original , und für diese Parameter kann die Sequenz als A050000 gefunden werdenin der OEIS. Die ersten 20 Elemente sind:
1, 3, 9, 4, 2, 6, 18, 54, 27, 13, 39, 19, 57, 28, 14, 7, 21, 10, 5, 15
Da dies eine „reine Sequenz“ Herausforderung ist, die Aufgabe zu Ausgang ist für eine gegebene als Eingabe, wobei ist A050000 .
Aufgabe
Bei einem gegebenen ganzzahligen Eingangs , Ausgabe in Ganzzahl - Format, wobei:
Hinweis: Hier wird eine 1-basierte Indizierung angenommen. Sie können eine 0-basierte Indizierung verwenden, also usw. Bitte erwähnen Sie dies in Ihrer Antwort, wenn Sie dies verwenden möchten.
Testfälle
Input | Output
---------------
1 | 1
5 | 2
20 | 15
50 | 165
78 | 207
123 | 94
1234 | 3537
3000 | 2245
9999 | 4065
29890 | 149853
Regeln
- Eingabe und Ausgabe sind ganze Zahlen (Ihr Programm sollte mindestens Eingabe und Ausgabe im Bereich von 1 bis 32767 unterstützen)
- Ungültige Eingaben (0, Gleitkommazahlen, Zeichenfolgen, negative Werte usw.) können zu unvorhergesehenen Ausgaben, Fehlern oder (un) definiertem Verhalten führen.
- Es gelten die Standard- E / A-Regeln .
- Standardlücken sind verboten.
- Das ist Code-Golf , also gewinnt die kürzeste Antwort in Bytes