Beaucoup d'entre vous ont peut-être déjà interagi avec des Russes russes sur Internet, et un sous-ensemble d'entre vous a peut-être remarqué la méthode un peu étrange dont ils disposent pour s'exprimer.
par exemple удали игру нуб)))
là où les )))
sont ajoutés pour mettre l'accent sur l'énoncé précédent, j'ai travaillé sur une théorie selon laquelle le rapport de )
'au reste de la chaîne est directement proportionnel à la quantité d'emphase implicite, bien que je trouve souvent difficile de calculer le rapport. à la volée, comme je tente également de faire face à une série d'abus, je voudrais donc le code le plus court possible pour m'aider à calculer ce que devrait être la chaîne résultante, pour une valeur d'enthousiasme comprise entre 0 et 500%, compte tenu de l'original , chaîne peu enthousiaste, cela facilitera grandement mes recherches car je n’aurai pas à taper des scripts volumineux à chaque fois que je souhaite tester mon hypothèse.
Alors, le challenge:
écrivez un programme complet ou une fonction qui, avec deux arguments, une chaîne de longueur inconnue et un nombre, au format entier (entre 0 et 500) ou au format décimal (entre 0 et 5, avec 2 points de précision)
- retourne / affiche la chaîne originale, suffixée d'un nombre de
)
' - le nombre correspondra au rapport entre le nombre saisi et la longueur de la chaîne.
- Donc, si le nombre 200 ou 2.00 a été fourni, 200% de la chaîne doit être suffixé comme
)
's - le nombre de parenthèses arrondies à des décimales importe peu.
- Un script est requis pour prendre en charge les caractères ASCII imprimables.
- ne doit prendre en charge qu’un seul format numérique de votre choix.
Exemples:
"codegolf" 125 = codegolf))))))))))
"codegolf" 75 = codegolf))))))
"noob team omg" 0.5 = noob team omg))))))
"hi!" 4.99 = hi!)))))))))))))))
Exemple de code (PowerShell) (avec entrée décimale):
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))))
C'est du code-golf, donc le code le plus court gagne!
!
s, mais ils les tapent tels quels , ce n'est pas très commun, mais c'est assez emblématique.
)
est réduit émoticône :)
. Il est utilisé très commun entre les jeunes pour autant que je sache.
)
n'est pas une emphase, c'est simplement le smiley. Autant que je sache, il est plus difficile de taper :
avec une disposition de clavier russe, donc ils sourient sans yeux.
:
sur une mise en page russe (КЕН) que de taper ^
sur un QWERTY. Mais en effet, le )
est une version réduite de :)
. Il est beaucoup plus facile d'appuyer sur la touche Maj-0 et de la maintenir enfoncée que d'alterner plusieurs fois les touches.
)
pour insister comme un!
? Est-ce un problème d'encodage?