Considera una stringa di lunghezza N, come ad esempio Peanut ButterN = 13. Nota che nella stringa sono presenti coppie N-1 di caratteri adiacenti. Perché Peanut Butter, la prima delle 12 coppie è Pe, la seconda è ea, l'ultima è er.
Quando le coppie sono per lo più caratteri diversi, la stringa ha una qualità grossa, ad es chUnky.
Quando queste coppie hanno principalmente lo stesso carattere, la stringa ha una qualità uniforme, ad es sssmmsss.
Definire il blocco di una stringa in modo che sia il rapporto tra il numero di coppie con due caratteri diversi e il numero totale di coppie (N-1).
Definisci la scorrevolezza di una stringa in modo che sia il rapporto tra il numero di coppie con due caratteri identici e il numero totale di coppie (N-1).
Ad esempio, Peanut Butterha solo una coppia con caratteri identici ( tt), quindi la sua scorrevolezza è 1/12 o 0,0833 e la sua robustezza è 11/12 o 0,9167.
Le stringhe vuote e le stringhe con un solo carattere sono definite come morbide al 100% e grosse allo 0%.
Sfida
Scrivi un programma che accetta una stringa di lunghezza arbitraria e genera il suo valore di chunkiness o smoothness come valore in virgola mobile.
- Prendi l'input tramite stdin o la riga di comando, oppure potresti scrivere una funzione che accetta una stringa.
- Puoi supporre che la stringa di input contenga solo caratteri ASCII stampabili (e quindi sia una riga singola).
- Stampa il float su stdout su 4 o più cifre decimali oppure puoi scegliere di restituirlo se hai scritto una funzione. Le posizioni decimali che non trasmettono informazioni non sono necessarie, ad esempio
0va bene invece di0.0000. - Scegli il chunkiness o la scorrevolezza come preferisci. Assicurati di dire quale dei tuoi programmi genera.
Vince il codice più breve in byte.
Esempi
Peanut Butter→ chunkiness: 0.91666666666, Scorrevolezza: 0.08333333333
chUnky→ chunkiness: 1.0, Scorrevolezza: 0.0
sssmmsss→ chunkiness: 0.28571428571, Scorrevolezza: 0.71428571428
999→ chunkiness: 0.0, Scorrevolezza: 1.0
AA→ chunkiness: 0.0, Scorrevolezza: 1.0
Aa→ chunkiness: 1.0, Scorrevolezza: 0.0
!→ chunkiness: 0.0, Scorrevolezza: 1.0
[stringa vuota] → chunkiness: 0.0, Uniformità:1.0