Molti di voi potrebbero aver interagito con persone provenienti dalla Russia su Internet ad un certo punto, e un sottoinsieme di voi potrebbe aver notato il metodo leggermente strano che hanno per esprimersi.
per esempio удали игру нуб)))
dove )))
sono aggiunti per enfatizzare la precedente affermazione, ho lavorato su una teoria secondo cui il rapporto di )
's con il resto della stringa è direttamente proporzionale alla quantità di enfasi implicita, tuttavia spesso trovo difficile calcolare il rapporto al volo, poiché sto anche cercando di far fronte a una serie di abusi, quindi vorrei il codice più breve possibile per aiutarmi a calcolare quale dovrebbe essere la stringa risultante, per un valore di entusiasmo compreso tra 0 e 500%, dato l'originale , stringa non entusiasta, questo mi aiuterà molto nella mia ricerca in quanto non dovrò scrivere script ingombranti ogni volta che desidero testare la mia ipotesi.
Quindi, la sfida:
scrivere un programma o una funzione completi, che, forniti due argomenti, una stringa di lunghezza sconosciuta e un numero, in formato intero (tra 0 e 500) o in formato decimale (tra 0 e 5, con 2 punti di precisione)
- restituisce / visualizza la stringa originale, con il suffisso di un numero di
)
's - il numero sarà calcolato come rapporto tra il numero di input e la lunghezza della stringa.
- quindi se è stato fornito il numero 200, o 2.00, il 200% della stringa deve essere suffisso come
)
's - il numero di parentesi arrotondate in in decimali non ha importanza.
- lo script è necessario per supportare i caratteri ASCII stampabili.
- deve supportare solo un formato numerico di input, a scelta.
Esempi:
"codegolf" 125 = codegolf))))))))))
"codegolf" 75 = codegolf))))))
"noob team omg" 0.5 = noob team omg))))))
"hi!" 4.99 = hi!)))))))))))))))
Codice di esempio (PowerShell) (con input decimale):
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))))
Questo è code-golf, quindi vince il codice più corto!
!
s, ma le scrivono così come sono, non è super comune, ma è piuttosto iconico.
)
è ridotto emoticon :)
. Per quanto ne so, è molto comune tra i giovani.
)
non è un'enfasi, è semplicemente la faccina. Per quanto ne so, è più difficile digitare :
quando si utilizza il layout della tastiera russa, quindi sorridono senza occhi.
:
sul layout russo (ЙЦУКЕН) come scrivere ^
su QWERTY. Ma in effetti, )
è una versione ridotta di :)
. È molto più facile premere e tenere premuto Maiusc-0 che alternare ripetutamente i tasti.
)
enfasi come un!
? È un problema di codifica?