Eine Reihe von Programmiersprachen erstellen große Ganzzahlen, indem sie die Ziffer bis zum Ende der vorhandenen Zahl "verketten". Zum Beispiel Labyrinth oder Adapt . Mit Verketten der Ziffer bis zum Ende meine ich, dass, wenn die vorhandene Nummer ist und die Ziffer die Ergebniszahl 457 lautet .
Eine konstruierte Zahl ist eine Zahl, die auf diese Weise unter Verwendung der Vielfachen einstelliger Zahlen erstellt werden kann: AKA Ein Element in einer dieser 9 Folgen:
Um ein Beispiel dafür zu geben, wie die Sequenzen aufgebaut sind, sehen Sie, wie die Sequenz für aufgebaut ist:
und enthalten, um zu demonstrieren, wenn . EineMengevon Stellen punktiert fürWeltraum aus.
Es ist möglicherweise immer noch nicht klar, wie diese Sequenzen aufgebaut sind. Sie können sie also auf zwei verschiedene Arten verstehen:
Jede Sequenz beginnt mit der einzelnen Ziffer. Der nächste Term wird gefunden, indem das nächste Vielfache dieser Ziffer genommen, der vorherige Term mit multipliziert und das Vielfache addiert wird. In der Reihenfolge ausgedrückt:
wobei eine einzelne Ziffer ist ( bis )
Jedes der Elemente an einem beliebigen Punkt in der Folge ( zum Beispiel ) sind die Vielfachen von von bis , wobei durch
Die ersten Werte sind also , die zweiten sind , die dritten usw.
Ihre Aufgabe ist es, eine konstruierte Zahl als Eingabe zu nehmen und die Anfangsziffer auszugeben, mit der sie konstruiert wurde. Sie können davon ausgehen, dass die Eingabe immer eine konstruierte Zahl ist und größer als . Es kann sich um eine einzelne Ziffer handeln, die auf sich selbst zurückgeht.
Sie können Eingaben auf jede vernünftige Weise vornehmen, einschließlich als Ziffernliste, als Zeichenfolge usw. Es ist akzeptabel (obwohl nicht empfohlen), Eingaben in unary oder einer anderen Basis Ihrer Wahl vorzunehmen.
Dies ist ein Code-Golf, also gewinnt der kürzeste Code!
Testfälle
u_n => a
37035 => 3
6172839506165 => 5
5 => 5
246913580244 => 2
987654312 => 8
61728395061720 => 5
1111104 => 9
11111103 => 9
111111102 => 9
2469134 => 2
98760 => 8
8641975308641962 => 7
oder als zwei Listen:
[37035, 6172839506165, 5, 246913580244, 987654312, 61728395061720, 1111104, 11111103, 111111102, 2469134, 98760, 8641975308641962]
[3, 5, 5, 2, 8, 5, 9, 9, 9, 2, 8, 7]
Als ich diese Herausforderung gepostet habe, war mir nicht klar, dass sie durch die in Grimys Antwort verwendete Methode so stark vereinfacht werden könnte, und ich wäre daher sehr an Antworten interessiert, die einen mathematischeren Ansatz zur Lösung dieser Aufgabe verfolgen , anstatt eine 'Ziffer'. Trick (Offensichtlich sind alle gültigen Antworten gleichermaßen gültig, genau das, woran ich interessiert wäre).