Gerar o n th Narayana-Zidek-Capell número dado uma entrada n . Menos bytes vencidos.
f (1) = 1, f (n) é a soma dos termos do piso anterior (n / 2) Narayana-Zidek-Capell.
Casos de teste:
f(1)=1
f(9)=42
f(14)=1308
f(15)=2605
f(23)=664299
Gerar o n th Narayana-Zidek-Capell número dado uma entrada n . Menos bytes vencidos.
f (1) = 1, f (n) é a soma dos termos do piso anterior (n / 2) Narayana-Zidek-Capell.
Casos de teste:
f(1)=1
f(9)=42
f(14)=1308
f(15)=2605
f(23)=664299
Respostas:
Geléia,
1110 bytesExperimente online!
Toma
n
como argumento e imprime o resultado.Explicação
fonte
Ruby,
3432 bytesIsso usa uma fórmula da página OEIS para os números Narayana-Zidek-Cappell .
Edit: Livre-se dos parênteses usando a precedência do operador, graças a feersum e Neil.
fonte
x%2
?x%2*
pelo menos.x<2?
... isso torna muito mais claro, obrigado!Python 2,
48423836 bytesAlgoritmo retirado da página OEIS.
n<3
pode ser alterado paran<4
sem efeito. Retorna on
número th, onden
é um número inteiro positivo.Experimente online
fonte
05AB1E, 16 bytes
Uma solução iterativa como 05AB1E não possui funções.
Experimente online
fonte
C, 38
Uma tradução do algoritmo OEIS. Simplesmente não há código C suficiente por aqui!
fonte
n<3?:(...)
funciona?Python 3, 67 bytes
Uma função que recebe entrada por meio de argumento e imprime em STDOUT. Esta é uma implementação direta da definição.
Como funciona
Experimente no Ideone
fonte
Pitão, 12 bytes
Experimente online. Suíte de teste.
Define uma função
y(n)
que retorna o númeron
th Narayana-Zidek-Capell.fonte
Mathematica, 38 bytes
Função anônima. Toma 𝑛 como entrada e retorna 𝑓 (𝑛) como saída. Baseado na solução Ruby.
fonte
Haskell, 34 bytes
Exemplo de uso:
f 14
->1308
.Uma implementação direta da definição.
fonte
Java, 63 bytes
fonte
Go, 63 bytes
Praticamente uma porta direta da resposta C
fonte
PHP, 81 bytes
Este é um programa completo sem recursão. Uma função recursiva pode ser definida em 52 bytes (pode ser possível superar isso), mas essa é apenas uma porta bastante entediante da resposta de sherlock9 (e ela falha se você pedir f (100) ou mais), então estou colocando isso versão mais longa e mais interessante
Causa muitos (O [n]) avisos, mas tudo bem.
fonte
O(n)
avisos? Hã?R, 55 bytes
Altere
10
ofor
loop ex[9]
obtenha o índice que o usuário desejar.fonte
f=function(n)ifelse(n<4,1,2*f(n-1)-n%%2*f(floor(n/2)))
JavaScript,
5452Com base na resposta C.
parseInt
vez deMath.floor
fonte
Bordo,
4644 bytesUso:
fonte
R, 63 bytes
a=0
é adicionado como padrão porque me salva dois colchetes. A função chama-se recursivamente conforme necessário.fonte