Für die Ziffern ungleich Null auf einem Standard- Nummernblock
789
456
123
Stellen Sie einen Schachritter auf eine beliebige Ziffer und bewegen Sie ihn mit einer beliebigen Anzahl von normalen L-förmigen Sprüngen, wobei Sie eine positive Dezimalzahl nachzeichnen. Welche positiven ganzen Zahlen können so ausgedrückt werden?
Einer von ihnen ist 38
, dass der Ritter auf der anfangen 3
und sich nach links und nach oben bewegen könnte 8
. 381
und 383
sind auch möglich.
3
selbst ist möglich, wenn keine Sprünge gemacht werden (was erlaubt ist). 5
ist auch, aber es können keine anderen Ziffern von der aus erreicht werden 5
, so dass es die einzige Zahl ist, bei der die Ziffer 5
erscheint.
Schreiben Sie ein Programm oder eine Funktion, die eine positive Dezimalzahl enthält (Sie können diese auch als Zeichenfolge verwenden) und einen Wahrheitswert ausgeben oder zurückgeben , wenn die Zahl auf die beschriebene Weise von einem Ritter auf einem Nummernblock ausgedrückt werden kann, ansonsten aber ausgegeben wird ein falscher Wert.
Der kürzeste Code in Bytes gewinnt. Tiebreaker ist frühere Antwort
Beispiele
Wahrheit:
1, 2, 3, 4, 5, 6, 7, 8, 9, 16, 18, 38, 61, 81, 294, 349, 381, 383, 729, 767, 38183, 38383, 18349276, 183492761, 618349276
Falsch:
10, 11, 50, 53, 55, 65, 95, 100, 180, 182, 184, 185, 186, 187, 188, 189, 209, 305, 2009, 5030, 3838384, 4838383, 183492760
78963214
, immer und immer wieder wiederholt. Zählen Sie die Entfernungen - es sind immer vier, so oder so. Ich hätte klarer sein und ausdrücklich sagen sollen, dass Sie es in Kreisreihenfolge schreiben müssen.
123...9
. Entschuldigung