Tarefa
Sua tarefa é simples, gere uma sequência que, dado o índice i
, o valor nessa posição seja a soma dos quadrados de 0
até i
onde i >= 0
.
Exemplo:
Input: 0
Output: 0 (0^2)
Input: 4
Output: 30 (0^2 + 1^2 + 2^2 + 3^2 + 4^2)
Input: 5
Output: 55 (0^2 + 1^2 + 2^2 + 3^2 + 4^2 + 5^2)
Especificação:
- Você não pode receber nenhuma entrada e produzir a sequência indefinidamente;
- Você pode receber
N
e enviar oNth
elemento da sequência; - Você pode receber
N
e enviar os primeirosN
elementos da sequência.
code-golf
number
sequence
arithmetic
Felipe Nardi Batista
fonte
fonte
f(1) == 1 * 1 (1)
ef(24) == 70 * 70 (4900)
.f(1) = 1
?f(0) = 0
. i já assinalou que para as poucas respostas que falhou essa exigênciaf(0) = 0
requisito arruinou algumas das minhas soluções :(Respostas:
Gelatina , 3 bytes
Experimente online!
FGITW
Explicação
fonte
Ræ.R
Python 2 , 22 bytes
Experimente online!
Isso usa a fórmula de forma fechada n * (n + 1) * (2 * n + 1) / 6 . O código executa as seguintes operações:
Multiplica n por (
n*
):~n
), que significa essencialmente -1-n .*~(n*2)
), que significa -1-2n .Divide por 6 (
/6
).Python 2 , 27 bytes
Experimente online!
Economizou 1 byte graças a Rod e 1 graças a GB .
fonte
MATL , 3 bytes
... ou eles?
Experimente online!
Explicação
fonte
JavaScript (ES6), 16 bytes
Demo
Mostrar snippet de código
Quão?
A expressão
n+++n
é analisada comon++ + n
(1) . Não que isso realmente importe, porquen + ++n
também funcionaria neste caso.Assim sendo:
que avalia como soma (k = 0 ... n) (k²) .
(1) Isso pode ser verificado fazendo o
n='2';console.log(n+++n)
que fornece o número inteiro5
, ao passon + ++n
que daria a string'23'
.fonte
05AB1E , 3 bytes
Experimente online!
Explicação
fonte
Brain-Flak , 36 bytes
Experimente online!
fonte
({<(({}))>{({})({}[()])}{}<({}[()])>})
Brain-Flak , 34 bytes
Experimente online!
Como funciona?
Inicialmente, tive a mesma ideia que Riley 1, mas parecia errado usar um zero. Então eu percebi que
Calcula n 2 - n.
Por quê? Bem nós sabemos
Calcula n 2 e faz loops n vezes. Isso significa que, se mudarmos a ordem dos dois impulsos, passamos de aumentar a soma em n + (n-1) a cada vez para aumentar a soma em (n-1) + (n-1) a cada vez. Isso diminuirá o resultado em um por loop, tornando nosso resultado n 2 - n. No nível superior, isso -n cancela com o n gerado pelo push que estávamos zerando, aliviando a necessidade de um zero e economizando dois bytes.
Brain-Flak , 36 bytes
Experimente online!
Aqui está outra solução, não é tão divertida, mas é bem estranha, então pensei em deixar como um desafio descobrir como funciona.
Se você não gosta de Brain-Flak, mas ainda quer o desafio aqui, é um resumo.
1: Encontrei minha solução antes de analisar as respostas aqui. Portanto, sem plágio aqui.
fonte
Casca , 3 bytes
Experimente online!
fonte
Ohm v2 , 3 bytes
Experimente online!
Explicação
fonte
Japonês , 3 bytes
Experimente aqui.
-1 graças a Shaggy .
Explicação:
fonte
p2
.Brain-Flak , 46 bytes
Experimente online!
fonte
({{({})({}[()])}{}}{})
e economiza 10 bytes. (Se isso não faz sentido,CJam , 10 bytes
Experimente online!
fonte
ri),_.*:+
ouri),2f#:+
?Wolfram Language (Mathematica) , 14 bytes
Experimente online!
fonte
#.#&@Range@#&
salva um byte#.#&@*Range
.Na verdade , 3 bytes
Experimente online!
Pega
N
como entrada e gera oN
th elemento na sequência.Explicação:
fonte
APL (Dyalog) ,
75 bytes2 bytes salvos graças ao @Mego
Experimente online!
Quão?
⍳
- alcance+.×
- produto pontual⍨
- consigo mesmofonte
¨⍳
necessárioR, 17 bytes
Bastante simples, ele tira proveito do fato de que
^
(exponenciação) é vetorizado em R .fonte
(x=0:scan())%*%x
é mais curto por um byte, mas acredito que você precisa de umcat
para obter saída.cat
, ele gera uma matriz 1x1.cat
é necessário para que isso se qualifique como um programa completo. Se você quiser mudar isso, responda a esta pergunta e obtenha alguma tração entre as outras pessoas no site.CJam , 9 bytes
Experimente online!
Explicação
Alternativamente:
Isso esquadrinha cada elemento mapeando em
2#
vez de usar produtos em pares. E, apenas por diversão, outra alternativa que é imprecisa para entradas grandes porque usa aritmética de ponto flutuante:fonte
Julia ,
1614 bytes2 bytes salvos graças a @MartinEnder
Experimente online!
Quão?
(x=1:n)
cria uma gama de1
aon
e atribuir ax
,⋅
dot produto comx
.fonte
Labirinto , 11 bytes
Experimente online!
Imprime a sequência indefinidamente.
Explicação
O ponteiro de instruções continua rodando repetidamente o quadrado do código:
fonte
Cubix , 15 bytes
Experimente online!
Meu código está um pouco triste
):
Computadores
n*(n+1)*(2n+1)/6
fonte
Befunge , 16 bytes
Usando a fórmula de forma fechada n * (n + 1) * (2n + 1) / 6 .
Experimente online!
Befunge , 38 bytes
Usando um loop.
Experimente online!
fonte
Haskell, 20 bytes
Experimente online!
fonte
Excel, 19 bytes
fonte
Hexagonia , 23 bytes
Experimente online!
Explicação
Desdobrado:
Este é realmente apenas um programa linear com o
/
usado para algum redirecionamento. O código linear é:Qual calcula n (n + 1) (2n + 1) / 6 . Ele usa as seguintes bordas da memória:
Onde o ponto de memória (MP) começa na borda rotulada n , apontando para o norte.
Em teoria, pode ser possível ajustar esse programa no lado 3, porque
/
não são necessários para o cálculo,:
podem ser reutilizados para finalizar o programa e alguns'"=+*{
podem ser reutilizáveis, aumentando o número de solicitações necessárias. comandos abaixo de 19 (o máximo para o comprimento lateral 3). Duvido que seja possível encontrar essa solução manualmente, se é que existe alguma.fonte
> <> ,
151311 bytesEconomizou 2 bytes graças a Not a tree
Experimente online!
Produz a sequência indefinidamente.
fonte
-v
sinalizador):::1+:}+**6,n
( Experimente on-line! )N=1
): Experimente online!l
. Verificando com o OP se está tudo bem começar com 1.l
idéia de Martin Ender resposta Labirinto .)Pitão ,
75 bytes graças a Steven HExplicação:
Minha primeira solução
Experimente online!
Explicação:
fonte
Neim , 3 bytes
Isso poderia ter sido um desafio para mostrar os números poligonais de Neim, mas aparentemente não.
Experimente online!
fonte
Oásis , 4 bytes
Experimente online!
Explicação
fonte
Braquilog , 5 bytes
Experimente online!
Explicação
fonte
Gaia , 3 bytes
Experimente online!
fonte