Générez le n ème nombre Narayana-Zidek-Capell avec une entrée n . Le moins d'octets gagne.
f (1) = 1, f (n) est la somme des termes Narayana-Zidek-Capell du plancher précédent (n / 2).
Cas de test:
f(1)=1
f(9)=42
f(14)=1308
f(15)=2605
f(23)=664299
Réponses:
Gelée,
1110 octetsEssayez-le en ligne!
Prend
n
comme argument et imprime le résultat.Explication
la source
Rubis,
3432 octetsCelui-ci utilise une formule de la page OEIS pour les nombres Narayana-Zidek-Cappell .
Edit: débarrassé des parenthèses en utilisant la priorité de l'opérateur grâce à feersum et Neil.
la source
x%2
?x%2*
au moins.x<2?
... cela rend les choses beaucoup plus claires merci!Python 2,
48423836 octetsAlgorithme tiré de la page OEIS.
n<3
peut être remplacén<4
par sans effet. Renvoie len
numéro e, oùn
est un entier positif.Essayez-le en ligne
la source
05AB1E, 16 octets
Une solution itérative comme 05AB1E n'a pas de fonctions.
Essayez-le en ligne
la source
C, 38
Une traduction de l'algorithme OEIS. Il n'y a tout simplement pas assez de code C ici!
la source
n<3?:(...)
marche?Python 3, 67 octets
Une fonction qui prend l'entrée via un argument et imprime dans STDOUT. Il s'agit d'une mise en œuvre directe de la définition.
Comment ça fonctionne
Essayez-le sur Ideone
la source
Pyth, 12 octets
Essayez-le en ligne. Suite de tests.
Définit une fonction
y(n)
qui renvoie len
numéro Narayana-Zidek-Capell.la source
Mathematica, 38 octets
Fonction anonyme. Prend 𝑛 en entrée et renvoie 𝑓 (𝑛) en sortie. Basé sur la solution Ruby.
la source
Haskell, 34 octets
Exemple d'utilisation:
f 14
->1308
.Une mise en œuvre directe de la définition.
la source
Java, 63 octets
la source
Aller, 63 octets
À peu près un port direct de la réponse C
la source
PHP, 81 octets
Il s'agit d'un programme complet sans récursivité. Une fonction récursive peut être définie en 52 octets (il pourrait être possible de battre cela), mais ce n'est qu'un port assez ennuyeux de la réponse de sherlock9 (et cela génère des erreurs si vous demandez f (100) ou plus), donc je mets en place cette version plus longue et plus intéressante
Provoque de nombreuses notifications (O [n]) mais c'est très bien.
la source
O(n)
des avis? Hein?R, 55 octets
Changez
10
dans lafor
boucle etx[9]
obtenez l'index souhaité par l'utilisateur.la source
f=function(n)ifelse(n<4,1,2*f(n-1)-n%%2*f(floor(n/2)))
JavaScript,
5452Basé sur la réponse C.
parseInt
au lieu deMath.floor
la source
Érable,
4644 octetsUsage:
la source
R, 63 octets
a=0
est ajouté par défaut car il me fait économiser deux accolades. La fonction s'appelle récursivement au besoin.la source