Se crea un número poco interesante (que no compensé totalmente solo para este desafío) de esta manera:
- Tome un entero positivo N
- Cree un nuevo número O sumando los dígitos de N al final de N
- El último número sin interés es O * N
Por ejemplo para N = 12:
- O = 1212
- O * N = 1212 * 12
- El número final es 14544
Entrada
Un entero positivo N (N> 0) o el equivalente de su idioma. No tiene que atrapar entradas incorrectas.
Salida
El correspondiente número sin interés.
Casos de prueba
1 -> 11
2 -> 44
3 -> 99
10 -> 10100
174 -> 30306276
Tanteo
El código más corto en bytes gana.
Respuestas:
05AB1E , 3 bytes
Explicado
Pruébalo en línea
fuente
str
e*
interpreta la cadena como un número. Muy útil :)JavaScript (ES6), 10 bytes
Necesita ser llamado con el argumento como a
String
, no comoNumber
.Uso:
-3 bytes gracias a la sugerencia de @Quill .
fuente
_=>(_+_)*+_
_
un carácter arbitrario para una variable? (PD:(_+_)
parece un trasero)$
también funcionarían=>(1+10**-~Math.log10(n))*n*n
(lamentablemente-~
tienen mayor prioridad que**
) o 31 en ES6n=>-~`1e${-~Math.log10(n)}`*n*n
. Incluso la recursión me llevó 32 bytes:f=(n,m=1)=>n<m?-~m*n*n:f(n,m*10)
Java 8,
29 26 2521 BytesDios bendiga a lambda
c-> Long.decode (c + "" + c) * c;fuente
vim, 11
crcrcrcrcr ...
fuente
<C-r>
no se puede imprimir.<C-r>
un retorno de carro?<C-r>
es control más r. El retorno del carro es<cr>
.Pyth,
54 bytesExplicación:
Pruébalo aquí .
fuente
Emacs, 17 bytes
(*SPACEC-SPACEC-EM-YSPACEC-YC-Y)C-J
Explicación
(*
en el punto (antes del número);)
al final;Ejemplo
Cursor representado por una pipa (
|
)|174
(* |174
(* 174|
(* 174 |
(* 174 174174|
(* 174 174174)|
Resultado
fuente
C #,
1923 bytesSin cadenas, 47 bytes.
fuente
(n)=>{int.Parse(""+n+n)*n}
2;
?Python 2.7, 21 bytes:
Bueno, esta tiene que ser la respuesta Python más corta que haya escrito en el menor tiempo posible. Es una función lambda anónima que se puede ejecutar nombrándolo como desee y luego llamándolo como una función normal envuelta
print()
. Por ejemplo, si su entrada es12
, y la función fue nombradaH
, esto se llamaría comoprint(H(12))
.¡Pruébelo en línea! (Ideona)
Tenga en cuenta que esto solo funciona para valores ascendentes e iguales a
9223372036854775807
desde cualquier valor más alto yrepr()
pone unL
al final del entero. Por lo tanto, para valores mayores que9223372036854775807
, esta versión de 24 bytes sería la que funciona:¡Prueba esto en línea! (Ideona)
fuente
Gelatina, 4 Bytes
Pruébalo en línea
Explicación
fuente
;DDx
Ḍ
solo toma 1 byte? Usualmente usamos UTF-8, en el cual toma 3 (y el × toma 2, pero es 1 byte en, por ejemplo, ISO8859-1).C,
706854535244Versión anterior (48 bytes, sin funciones matemáticas), guardada 16 bytes gracias a @LeakyNun, 1 byte gracias a @FryAmTheEggman, 4 bytes gracias a @TobySpeight:
Llame
f()
con un argumento, el número, y devuelve el número no interesante correspondiente.Programa de prueba
Resultados de la prueba:
Pruébalo en línea!
fuente
f(n){int b=1;while(a)b*=10,a/=10;return(n+n*b)*n;}
math.h
, pero se saldrá con la suya en GCC, dondelog10()
ypow()
están integrados, y el compilador simplemente advierte sobre la "declaración implícita incompatible de la función incorporada" en lugar de suponer (como debería) Ambos regresanint
.a
...Dyalog APL, 7 bytes
⍕
string representation⍕,
prepend string representation#⍎
make into number (in root namespace)⊢×
multiply by original numberfuente
J, 7 bytes
Explanation
fuente
Under
is working properly with string concatenation. What a great discovery for me! Thank you.* ,~ &.": n
, and can't be used in formation of other verbs either.Retina,
2720 bytesGets a bit slow for large inputs, because before the last the stage the result is represented in unary.
Try it online! (The first line enables a linefeed-separated test suite.)
Explanation
I'll use
2
as an example input (because the unary representations get a bit unwieldy for larger inputs).Etapa 1: sustitución
Al hacer coincidir el comienzo de la cadena con
^
simplemente anteponemos algunas cosas.$_
se refiere a la cadena de entrada en sí y$*:
significa que insertamos esa cantidad de dos puntos. Entonces obtenemos:Etapa 2: sustitución
Ahora combinamos cada
:
vez que lo reemplazamos con$_$*:
. Por supuesto, esta vez$_
no evalúa un número entero (sino:: 22
en nuestro ejemplo), sino que$*
solo busca el primer decimal en la cadena, por lo que esto se evalúa como la entrada concatenada a sí misma (O
en la especificación de desafío). Terminaremos conN*O
dos puntos, seguidos deO
:Etapa 3: partido
Todo lo que queda es contar la
:
s para convertir de unario a decimal, que es exactamente lo que hace esta etapa.fuente
CJam , 8 bytes
Pruébalo en línea!
fuente
r__+i\i*
, que tiene la misma longitud.r__+si*
, wheres
is "apply this operation over the stack"), but I don't see anything like thatJalea,
86 bytesPruébalo en línea!
Explicación
fuente
³
s.Awk, 13 bytes
Establezca la línea en 2 de sí misma multiplicada por sí misma
fuente
Brachylog , 7 bytes
Explicación
fuente
Python, 42 bytes
Enfoque aritmético puro, sin cadenas!
Ideone it!
fuente
Matlab / Octave, 20 bytes
Esta es una función anónima que toma la entrada como una cadena.
Ejemplo de uso:
O pruébelo en línea con ideone .
Explicación
El código construye una cadena concatenando la cadena de entrada dos veces, luego el carácter
*
(que tiene el código ASCII 42) y luego la cadena nuevamente. Luego se evalúa la cadena concatenada.fuente
42
significa*
*
, luego la cadena nuevamente. Luego se evalúa la cadena concatenada. Lo editaré en la respuestaMATL , 6 bytes
Pruébalo en línea!
fuente
zsh, 13 bytes
Toma la entrada como un argumento de línea de comando, sale a STDOUT.
Esto solo funciona en zsh, pero aquí hay 15 bytes en Bash usando en
echo
lugar de<<<
:fuente
Perl, 11 bytes
+ las
p
yl
banderas.(correr con
perl -ple '$_*=$_ x2'
)-2 bytes gracias a la tubería.
fuente
$_*=$_ x2
-l
$_ x2
producirá...\n...\n
que cuando se convierta en un número por perl, termina el primero\n
6
.Excel VBA, 35 Bytes
Sub llamado con número, msgbox devuelve respuesta
Excel VBA alternativo, 42 bytes
Número dado en la fórmula, devuelve la respuesta.
fuente
Lua, 20 bytes
Toma un argumento de línea de comandos y emite a través de STDOUT
Y ungolf como @LeakyNun preguntó en el comentario :)
fuente
Pyke,
54 bytesPruébalo aquí!
También 5 bytes con entradas de cadena
fuente
PHP,
2524 bytesLas etiquetas de apertura corta son útiles para sorprendentemente pocos desafíos de golf, afortunadamente este es uno de ellos. Desafortunadamente, la precedencia del operador es lo opuesto al orden en que debe hacerlos, por lo que se necesitan muchos corchetes.
editar: me di cuenta de que, viendo cómo uso los corchetes de todos modos, puedo omitir efectivamente el operador de concatenación cambiando el orden escrito de las operaciones.
fuente
dc,
1110 bytes¡ Sabía que eventualmente encontraría un uso para el
Z
comando!La operación es bastante simple: cuente los dígitos, tome 10 elevados a esa potencia y agregue uno. Esto le da un multiplicador que concatena el número consigo mismo. Entonces simplemente multiplícate.
I / O usa la pila, como de costumbre para dc.
Programa completo
Esto es lo que usé para las pruebas:
Los dos comandos adicionales nos dan E / S de canalización.
Pruebas
Gracias a Sir Biden XVII (1 byte).
fuente
A
para10
guardar un byte. ¡Bien hecho!Paperas, 11 bytes
Este es uno de esos raros desafíos de golf donde la idiosincrasia de las paperas puede ser muy útil. Primero, todas las variables son cadenas, y todas las ecuaciones matemáticas se evalúan estrictamente de izquierda a derecha (como en: no PEMDAS), por lo que 1 + 2 * 4 = 12 en Paperas en lugar de = 9 como lo haría PEMDAS. Entonces, (apenas) sin golfista:
Advertencia: debido a que el sabor de las paperas que estoy usando (InterSystems Ensemble) no se hace eco del retorno de carro para stdin, el número de entrada y salida aparecerá concatenado. Para rectificar eso / aumentar la legibilidad, necesitaría agregar dos bytes y agregar un CR / LF manual, por lo tanto:
Sin embargo, como no vi ese requisito en las reglas del desafío, estoy bastante seguro de que soy bueno con el código más corto. Si me equivoco, no dude en LART me y modificaré mi respuesta. :-)
fuente
PowerShell,
25, 18 bytesGracias TessellatingHeckler por recordarme cuánto PS ama la tubería.
Nuevos 18 bytes:
Antiguos 25 bytes:
Explicación:
Prueba (guardar como aburrido.ps1):
Definitivamente no es la respuesta ganadora, ¡pero es divertido de todos modos!
fuente
process{$_*"$_$_"}
es de 18 bytes, y toma la entrada de "stdin" (es decir, la tubería), por ejemplo174|script.ps1
param($a);$a*"$a$a"
param($n)$n*"$n$n"
(lo que Darth tenía, sin el;
) es de la misma longitud y no es un REPL.test.ps1
archivo que se lee en la tubería? ¿Una lectura de script bash shell de stdin tampoco cuenta?Lote,
272018 bytesEditar: Guardado 7 bytes gracias a @TessellatingHeckler. Ahorró otros 2 bytes gracias a @ EʀɪᴋᴛʜᴇGᴏʟғᴇʀ.
fuente
set /a
en el indicador se muestra el resultado de la asignación. ->@cmd/c set/a n=%1%1*%1
para 22 bytes.@cmd/cset/a%1%1*%1
para 18.cmd/c
parte es necesaria porque la herramienta de ejecución de archivos por lotes no es encmd
sí misma.