Muchos de ustedes pueden haber interactuado con personas de Rusia en Internet en algún momento, y un subconjunto de ustedes puede haber notado el método un poco extraño que tienen para expresarse.
p.ej удали игру нуб)))
donde )))
se agregan para enfatizar la afirmación anterior, he estado trabajando en una teoría de que la relación de )
's con el resto de la cadena es directamente proporcional a la cantidad de énfasis implícito, sin embargo, a menudo me resulta difícil calcular la relación sobre la marcha, ya que también estoy tratando de hacer frente a una gran cantidad de abusos, por lo que me gustaría que el código más corto posible me ayudara a calcular cuál debería ser la cadena resultante, por un valor de entusiasmo entre 0 y 500%, dado el original , una cadena poco entusiasta, esto ayudará mucho a mi investigación, ya que no tendré que escribir scripts voluminosos cada vez que desee probar mi hipótesis.
Entonces, el desafío:
escribir un programa o función completa que, con dos argumentos, una cadena de longitud desconocida y un número, en formato entero (entre 0 y 500) o en formato decimal (entre 0 y 5, con 2 puntos de precisión)
- retorno / mostrar la cadena original, con el sufijo con un número de
)
's - el número se calculará como una relación entre el número de entrada y la longitud de la cadena.
- así que si se proporcionó el número 200, o 2.00, el 200% de la cadena debe tener el sufijo
)
's - el número de corchetes redondeados en situaciones decimales no importa.
- Se requiere un script para admitir caracteres ASCII imprimibles.
- solo tiene que admitir un formato de número de entrada, de su elección.
Ejemplos:
"codegolf" 125 = codegolf))))))))))
"codegolf" 75 = codegolf))))))
"noob team omg" 0.5 = noob team omg))))))
"hi!" 4.99 = hi!)))))))))))))))
Código de ejemplo (PowerShell) (con entrada decimal):
Function Get-RussianString ([string]$InputStr,[decimal]$Ratio){
$StrLen = $InputStr.Length
$SuffixCount = $StrLen * $Ratio
$Suffix = [string]::New(")",$SuffixCount)
return $InputStr + $Suffix
}
Get-RussianString "codegolf" 0.5
codegolf))))
Este es el código de golf, ¡el código más corto gana!
!
s, pero las escriben como están, no es muy común, pero es bastante icónico.
)
es un emoticón reducido :)
. Se usa muy comúnmente entre los jóvenes hasta donde yo sé.
)
No es un énfasis, es simplemente el smiley. Hasta donde sé, es más difícil escribir :
cuando se usa la distribución del teclado ruso, por lo tanto, sonríen sin ojos.
:
en un diseño ruso (ЙЦУКЕН) como escribir ^
en QWERTY. Pero, de hecho, )
es una versión reducida de :)
. Es mucho más fácil mantener presionado Shift-0 que alternar teclas repetidamente.
)
énfasis como un!
? ¿Es algún problema de codificación?