Muitos de vocês podem ter interagido com pessoas da Rússia na internet em algum momento, e um subconjunto de vocês deve ter notado o método um pouco estranho que eles têm para se expressar.
por exemplo удали игру нуб)))
onde )))
são adicionados para enfatizar a declaração anterior, tenho trabalhado em uma teoria de que a proporção de )
s para o restante da string é diretamente proporcional à quantidade de ênfase implícita; no entanto, muitas vezes acho difícil calcular a proporção em tempo real, como também estou tentando lidar com uma série de abusos, então eu gostaria que o código mais curto possível me ajudasse a calcular qual deveria ser a sequência resultante, para um valor de entusiasmo entre 0 e 500%, dado o original , seqüência sem entusiasmo, isso ajudará muito minha pesquisa, pois não precisarei digitar scripts volumosos toda vez que desejar testar minha hipótese.
Então, o desafio:
escreva um programa ou função completo que, desde dois argumentos, uma sequência de comprimento desconhecido e um número, seja no formato inteiro (entre 0 e 500) ou no formato decimal (entre 0 e 5, com 2 pontos de precisão)
- retorno / exibir a string original, seguida de uma série de
)
's - o número será calculado como uma proporção do número de entrada para o comprimento da string.
- portanto, se o número 200 ou 2,00 foi fornecido, 200% da string deve ser sufixado como
)
's - o número de parênteses arredondados para situações decimais não importa.
- É necessário um script para suportar caracteres ASCII imprimíveis.
- só precisa suportar um formato de número de entrada, de sua escolha.
Exemplos:
"codegolf" 125 = codegolf))))))))))
"codegolf" 75 = codegolf))))))
"noob team omg" 0.5 = noob team omg))))))
"hi!" 4.99 = hi!)))))))))))))))
Código de exemplo (PowerShell) (com 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))))
Isso é código-golfe, então o código mais curto vence!
!
s, mas eles as digitam como estão, não é super comum, mas é bastante icônico.
)
é um emoticon reduzido :)
. É muito comum entre os jovens, tanto quanto eu sei.
)
não é uma ênfase, é simplesmente o smiley. Tanto quanto eu sei, é mais difícil digitar :
ao usar o layout do teclado russo, portanto eles sorriem sem olhos.
:
no layout russo (ЕНКЕН) quanto digitar ^
no QWERTY. Mas, de fato, o )
é uma versão reduzida do :)
. É muito mais fácil pressionar e manter pressionada a tecla Shift-0 do que com as teclas alternadamente repetidas.
)
para enfatizar como um!
? É algum problema de codificação?