Tor
Sie erhalten eine Ganzzahl n
( n > 1
). Sie müssen ausgegeben , wie viele Permutationen der ganzen Zahlen 1
zu n
gibt, die beim Start 1
, Ende an n
, und haben nicht zwei aufeinanderfolgende ganze Zahlen , die um 1 unterscheiden.
Wenn Sie alternativ das vollständige Diagramm erstellen K_n
und die Kanten des Pfads entfernen 1-2-3-...-n
, müssen Sie die Hamilton-Pfade von 1
bis n
im verbleibenden Diagramm zählen.
Die Beispiele werden f(n)
für eine Funktion verwendet, die n
die Anzahl der gültigen Permutationen ein- und ausgibt, aber Ihre Einreichung kann eine Funktion oder ein Programm sein.
Beispiele
Denn n = 6
eine mögliche Lösung ist1-3-5-2-4-6
Dies 1-3-5-2-6-4
ist jedoch keine gültige Lösung, da sie nicht mit endet 6
.
Tatsächlich n = 6
gibt es für nur 2 Lösungen ( 1-4-2-5-3-6
ist die andere).
Daher f(6) = 2
.
Denn n = 4
die einzigen Permutationen, die in 1
und enden, 4
sind 1-2-3-4
und 1-3-2-4
. In beiden 2
steht das neben dem 3
, was aufeinanderfolgende ganze Zahlen ergibt, die sich um 1 unterscheiden f(4) = 0
.
Testfälle
f(6) = 2
f(4) = 0
f(8) = 68
f(13) = 4462848
Gewinnkriterium
Dies ist Code-Golf, die kürzeste Antwort gewinnt.
Q_ser:=z + 2 z^6 + 10 z^7 + 68 z^8 + 500 z^9 + 4174 z^10 + 38774 z^11 + 397584z^12 + 4462848 z^13 + 54455754 z^14
Ich verbringe einige Zeit damit, die Formeln zu verwenden, aber ich kann keine erstellen, die die Sequenz erzeugt. Es ist erstaunlich zu sehen, dass der Exponent von z die Eingabe der Formel und das Ergebnis der Multiplikationsfaktor ist. Diejenige, die die Formel von dort ableiten kann, kann eine mit der kürzesten Antwort in Bytes sein
[2..n-1]
keine Deltas von1
oder enthalten-1
, Sie müssen auch überprüfen, ob keine von ihnen2
mitn-1
... beginnt oder endet