Eu chamo essa sequência de "a sequência de Jesus", porque é a soma do mod . </pun>
Para esta sequência, você pega todos os números inteiros positivos m menores que a entrada n e a soma do n módulo cada m . Em outras palavras:
Por exemplo, considere o termo 14 :
14 % 1 = 0
14 % 2 = 0
14 % 3 = 2
14 % 4 = 2
14 % 5 = 4
14 % 6 = 2
14 % 7 = 0
14 % 8 = 6
14 % 9 = 5
14 % 10 = 4
14 % 11 = 3
14 % 12 = 2
14 % 13 = 1
0+0+2+2+4+2+0+6+5+4+3+2+1=31
Seu objetivo aqui é escrever uma função que implemente essa sequência. Você deve tomar o termo de sequência (este será um número inteiro positivo de 1 a 2 31 ) como a única entrada e gerar o valor desse termo. Este é o OEIS A004125 .
Como sempre, brechas comuns se aplicam e a resposta mais curta em bytes vence!
Ruby ,
282723 bytes-4 bytes graças a @daniero.
Experimente online!
Ruby, 28 bytes
Experimente online!
fonte
Funky , 25 bytes
Apenas a resposta ingênua, parece funcionar.
Experimente online!
Desmos , 25 bytes.
Cole no Desmos e execute-o chamando
f
.Quando colado no Desmos, o látex fica assim
No entanto, o gráfico parece
Embora pareça aleatório e em todo o lugar, esse é o resultado de apenas suportar números inteiros.
RProgN 2 , 9 bytes
Explicado
Experimente online!
ReRegex , 71 bytes
Experimente online!
ARBLE , 19 bytes
Experimente online!
Talvez mais tarde , 56 bytes
Experimente online!
fonte
Gelatina , 3 bytes
Explicação
Experimente online!
fonte
MATL , 4 bytes
Experimente online!
Explicação:
fonte
Ohm v2 , 4 bytes
Experimente online!
fonte
R, 20 bytes
Experimente online!
fonte
Python 2 , 44 bytes
Experimente online!
EDIT: Faixa alterada (0, n) para faixa (n)
fonte
range
implica implicitamente um primeiro argumento de0
, para que você possa encurtar isso em dois bytes fazendo issorange(n)
.map
38 bytes: Experimente online!JavaScript (ES6), 26 bytes
Demo
Mostrar snippet de código
fonte
Python 3 , 37 bytes
Experimente online!
fonte
Carvão , 9 bytes
Experimente online!
O link é para a versão detalhada do código:
fonte
ML padrão (MLton) ,
5351 bytesExperimente online!
Ungolfed:
Versão anterior de 53 bytes:
Experimente online!
Explicação:
List.tabulate
pega um número inteirox
e uma funçãof
e gera a lista[f 0, f 1, ..., f(x-1)]
. Dado algum númeron
, chamamosList.tabulate
withn-1
e a funçãofn i=>n mod(i+1)
para evitar dividir por zero. A lista resultante é resumida emfoldl op+0
.fonte
Java (OpenJDK 8) , 45 bytes
Experimente online!
fonte
-->
operador vai para ( ).Mathematica , 18 bytes
Experimente online!
fonte
Tr[#~Mod~Range@#]&
APL (Dyalog) , 5 bytes
Experimente online!
Quão?
Trem monádico -
+/
- soma⊢
-n
|
- módulo vetorizado⍳
- o alcance den
fonte
Japonês ,
65 bytesGuardado 1 byte graças a @Shaggy
Teste online!
Como funciona
fonte
05AB1E , 6 bytes
Experimente online!
Meu primeiro programa 05AB1E;)
Btw eu tenho dois 39s, 1 para JS6 e 1 para python, mas eu estava muito atrasadoExplicação:
fonte
Ruby , 23 bytes
Experimente online!
fonte
Julia 0.4, 15 bytes
Experimente online!
fonte
Adicionar ++ , 14 bytes
Experimente online!
Como funciona
fonte
4 , 67 bytes
4 não possui nenhum módulo embutido.
Experimente online!
fonte
Lote do Windows (CMD), 63 bytes
Versão anterior de 64 bytes:
fonte
T-SQL,
8079 bytes-1 byte graças a @MickyT
Recebe entrada de um parâmetro inteiro chamado
@
, algo como isto:Usa uma expressão de tabela comum para gerar números de
1
paran
. Em seguida, usa esse cte para resumir os módulos.Nota: um cte precisa de um
;
entre a instrução anterior e o cte. A maioria dos códigos que eu vi coloca o;
direito antes da declaração, mas nesse caso eu posso salvar um byte colocando-o na instrução de entrada (já que tecnicamente meu código é a única instrução).Experimente (SEDE)
A maneira menos "SQL-y" é de apenas 76 bytes. Desta vez, a variável de entrada está em
@i
vez de@
(salva um byte). Este apenas faz umwhile
loop.fonte
PHP , 61 bytes
-2 bytes para remover a marca de fechamento
Experimente online!
fonte
Japonês
-mx
, 3 bytesExperimente online!
fonte
Braquilog , 9 bytes
Experimente online!
fonte
Casca , 5 bytes
Experimente online!
Explicação
fonte
Perl 5 , 23 + 1 (
-p
) = 24 bytesExperimente online!
fonte
Pitão , 5 bytes
Experimente online!
fonte