Déjame presentarte los números GAU
GAU(1) = 1
GAU(2) = 1122
GAU(3) = 1122122333
GAU(4) = 11221223331223334444
GAU(6) = 11221223331223334444122333444455555122333444455555666666
...
GAU(10) = 11221223331223334444122333444455555122333444455555666666122333444455555666666777777712233344445555566666677777778888888812233344445555566666677777778888888899999999912233344445555566666677777778888888899999999910101010101010101010
¡Este desafío es bastante simple!
Dado un número entero n> 0, encuentre el número de dígitos de GAU (n)
Ejemplo
Hagamos GAU (4)
, tomamos los siguientes pasos (hasta llegar a 4) y los concatenamos
[1][122][122333][1223334444]
debe escribir cada número tantas veces como sea su valor, pero debe contar cada vez desde 1
Intentemos hacer GAU (5)
tendremos que contar del 1 al 1
[1]
luego de 1 a 2 (pero repitiendo cada número tantas veces como su valor )
[122]
luego de 1 a 3
[122333]
luego de 1 a 4
[1223334444]
y finalmente del 1 al 5 (este es el último paso porque queremos encontrar GAU ( 5 ))
[122333444455555]
Ahora tomamos todos estos pasos y los concatenamos,
el resultado es GAU (5)
11221223331223334444122333444455555
Estamos interesados en la cantidad de dígitos de estos números GAU.
Casos de prueba
Entrada⟼Salida
n ⟼ Length(GAU(n))
1 ⟼ 1
2 ⟼ 4
3 ⟼ 10
10 ⟼ 230
50 ⟼ 42190
100 ⟼ 339240
150 ⟼ 1295790
Este es un desafío de código de golf .
El código más corto en bytes ganará.
Si todavía tiene alguna pregunta, hágamelo saber.
Realmente quiero que todos aquí comprendan este patrón complejo mágicamente oculto
n ⟼ Length(GUA(n))
, no GAU (n).Respuestas:
SOGL V0.12 ,
1110875 bytesPruébalo aquí! - esto espera ser llamado como una función con la entrada en la pila y el cuadro de entrada vacío.
Alternativa de 7 bytes que toma la entrada del cuadro de entrada:
Pruébalo aquí!
fuente
push that numbers length without popping the number
agradableHaskell , 45 bytes
Pruébalo en línea!
fuente
Brain-Flak , 166 bytes
Pruébalo en línea!
Explicación
fuente
Casco , 5 bytes
Pruébalo en línea!
Explicación
fuente
Jalea , 7 bytes
Pruébalo en línea!
fuente
05AB1E , 5 bytes
Pruébalo en línea!
Explicación
fuente
Python 2 , 53 bytes
Pruébalo en línea!
fuente
Casco , 7 bytes
Pruébalo en línea!
Ungolfed / Explicación
fuente
Casco , 7 bytes
Pruébalo en línea!
Explicación
fuente
JavaScript (ES6),
5755 bytesPruébalo en línea!
fuente
Python 2 ,
5958 bytesOtro bytes el polvo gracias a Jonathan Frech.
Pruébalo en línea!
No es corto pero eh ... qué diablos.
fuente
len(`i`)*i for
->i*len(`i`)for
.CJam , 20 bytes
Pruébalo en línea!
El número se pasa en el campo "entrada".
Explicación no reflejada: (entrada de ejemplo = 2)
Parece difícil cuando se explica lol.
fuente
J, 24 bytes
Enfoque de alto nivel similar a la respuesta APL de dzaima, traducido a J, excepto calculamos la longitud de la serie al convertirlo en una cadena primera vez de tomar registros, y se llega a utilizar el gancho de J para multiplicar esa longitud por el número en sí:
(*#@":"0)
. Después de eso es solo la suma de la suma de escaneo.Pruébalo en línea!
fuente
1(#.]*#\*#\.)1#@":@+i.
también funciona para 22 bytesR , 39 bytes
¡Verifique todos los casos de prueba!
Algoritmo simple; Observé, como la mayoría lo hizo, que para
i
adentro1:n
,i
se repitei*(n-i+1)
veces. Entonces creo ese vector, cuento el número de caracteres en cada uno y los sumo.fuente
Python 2,
5150 bytesfuente
JavaScript (ES6),
5042 bytesActualizado: ahora es básicamente un puerto de lo que están haciendo otras respuestas.
Casos de prueba
Mostrar fragmento de código
fuente
Mathematica, 66 bytes
fuente
QBIC , 21 bytes
fuente
En realidad , 13 bytes
Pruébalo en línea!
Explicación:
fuente
Japt ,
1211109 bytesPruébelo o pruebe todos los números del 1 al 150 .
Explicación
Entrada implícita de entero
U
.Genere una matriz de enteros de 1 a
U
y luego genere sub-matrices de 1 a cada entero.Pase los elementos de cada subconjunto a través de una función.
Convierta el elemento actual en una cadena (
s
), obtenga su longitud (Ê
) y multiplíquelo por el elemento.Reduzca la matriz principal mediante la adición después de hacer lo mismo con cada matriz secundaria.
fuente
Jq 1.5 ,
824943 bytesExpandido
Ejecución de muestra
Pruébalo en línea! también jqplay.org
fuente
Apilado , 28 bytes
Pruébalo en línea!
Algunos podrían preguntar: "¿En qué punto son ilegibles los alias?" Si esto no está cerca, tiene una definición muy liberal de "legibilidad".
Explicación
fuente
Ruby ,
4140 bytesPruébalo en línea!
fuente
C # (.NET Core) ,
948074 bytesPruébalo en línea!
Esperaba encontrar una solución directa como la respuesta de @ kamoroso94 , pero me di por vencido porque estaba pasando demasiado tiempo en ello. Probablemente haya una forma de hacerlo, pero la fórmula debe ajustarse para cada paso de magnitud.
Expresiones de gratitud
14 bytes guardados gracias a @someone
6 bytes guardados gracias a @Kevin Cruijssen
fuente
n=>{int b=0,a=0,i;for(;a++<n;)for(i=0;i++<a;)b+=i.ToString().Length*i;return b;}
Pruébalo en línea! para 80 bytes y rendimiento.i.ToString()
puede ser(i+"")
guardar algunos bytes más.MATL , 15 bytes
Pruébalo en línea!
Explicación:
fuente
:ttP*Y"VXzn
Perl 6 , 36 bytes
Pruébalo
Expandido:
fuente
Carbón ,
1814 bytesPruébalo en línea! El enlace es a la versión detallada del código. Editar: El uso
Sum
me salvó 4 bytes. Explicación:fuente
Σ
lugar ...Sum
es con 18 bytes:Print(Cast(Sum(Map(InclusiveRange(1, InputNumber()), Sum(Map(InclusiveRange(1, i), Times(l, Length(Cast(l)))))))));
Incremented
: P≔⊕NθIΣEθ×⁻θι×ιLIι
. Sin embargo, ¡enIncremented
lugar deInclusiveRange
afeitarme 4 bytes de mi comentario anterior!Ohm v2 , 7 bytes
Pruébalo en línea!
fuente
[Dyalog APL],
2220 bytesPruébalo en línea!
Explicación:
fuente
Röda , 31 bytes
Pruébalo en línea!
fuente