Generiere die n- te Narayana-Zidek-Capell- Zahl bei einer Eingabe von n . Wenigste Bytes gewinnen.
f (1) = 1, f (n) ist die Summe der Narayana-Zidek-Capell-Terme des vorherigen Stockwerks (n / 2).
Testfälle:
f(1)=1
f(9)=42
f(14)=1308
f(15)=2605
f(23)=664299
Antworten:
Jelly,
11 bis10 BytesProbieren Sie es online!
Nimmt
n
als Argument und gibt das Ergebnis aus.Erläuterung
quelle
Ruby,
3432 BytesDies verwendet eine Formel von der OEIS-Seite für die Narayana-Zidek-Cappell-Zahlen .
Edit: Dank Feersum und Neil wurden Klammern mit Operator-Priorität entfernt.
quelle
x%2
?x%2*
zumindest sagst.x<2?
... dies macht es viel klarer, danke!Python 2,
48423836 BytesAlgorithmus von der OEIS-Seite übernommen.
n<3
kannn<4
ohne Wirkung geändert werden . Gibt dien
th Zahl zurück, wobein
es sich um eine positive Ganzzahl handelt.Probieren Sie es online aus
quelle
05AB1E, 16 Bytes
Eine iterative Lösung wie 05AB1E hat keine Funktionen.
Probieren Sie es online aus
quelle
C 38
Eine Übersetzung des OEIS-Algorithmus. Es gibt hier einfach nicht genug C-Code!
quelle
n<3?:(...)
Arbeit?Python 3, 67 Bytes
Eine Funktion, die Eingaben über Argumente entgegennimmt und an STDOUT ausgibt. Dies ist eine direkte Implementierung der Definition.
Wie es funktioniert
Probieren Sie es auf Ideone
quelle
Pyth, 12 Bytes
Probieren Sie es online aus. Testsuite.
Definiert eine Funktion
y(n)
, die dien
th Narayana-Zidek-Capell-Nummer zurückgibt .quelle
Mathematica, 38 Bytes
Anonyme Funktion. Nimmt 𝑛 als Eingabe und gibt 𝑓 (𝑛) als Ausgabe zurück. Basierend auf der Ruby-Lösung.
quelle
Haskell, 34 Bytes
Anwendungsbeispiel:
f 14
->1308
.Eine direkte Umsetzung der Definition.
quelle
Java, 63 Bytes
quelle
Los, 63 Bytes
So ziemlich ein direkter Port von der C-Antwort
quelle
PHP, 81 Bytes
Dies ist ein vollständiges Programm ohne Rekursion. Eine rekursive Funktion kann in 52 Bytes definiert werden (das kann man vielleicht übertreffen), aber das ist nur eine ziemlich langweilige Antwort von sherlock9 (und es ist ein Fehler, wenn Sie nach f (100) oder mehr fragen) längere und interessantere Version
Verursacht viele (O [n]) Notizen, aber das ist in Ordnung.
quelle
O(n)
Hinweise? Huh?R, 55 Bytes
Wechseln Sie
10
in derfor
Schleife undx[9]
holen Sie sich den gewünschten Index.quelle
f=function(n)ifelse(n<4,1,2*f(n-1)-n%%2*f(floor(n/2)))
JavaScript,
5452Basierend auf der C- Antwort.
parseInt
anstelle von gespeichertMath.floor
quelle
Ahorn,
4644 BytesVerwendung:
quelle
R, 63 Bytes
a=0
wird als Standard hinzugefügt, da ich zwei geschweifte Klammern speichere. Funktion ruft sich bei Bedarf rekursiv auf.quelle