Peanut Butter
N = 13 gibi N uzunluklu bir dize düşünün . Dizede N-1 komşu karakter çiftlerinin bulunduğuna dikkat edin. Çünkü Peanut Butter
, 12 çiftin ilki Pe
, ikincisi, ea
sonuncusu er
.
Çiftler çoğunlukla farklı karakterler olduğunda, dize tıknaz bir kaliteye sahiptir, örn chUnky
.
Bu çiftler çoğunlukla aynı karakter olduğunda, dize yumuşak bir kaliteye sahiptir, örneğinsssmmsss
.
Tıknazlığı tanımlaBir dize iki farklı karakterli çift sayısının toplam çift sayısına oranı olarak (N-1).
Pürüzsüzlüğü tanımlayınBir dize , iki aynı karaktere sahip çift sayısının toplam çift sayısına (N-1) oranı olarak .
Örneğin, Peanut Butter
aynı karaktere ( tt
) sahip yalnızca bir çift vardır , bu nedenle pürüzsüzlüğü 1/12 veya 0.0833 ve yığınlığı 11/12 veya 0.9167'dir.
Boş dizeler ve yalnızca bir karakter içeren dizeler% 100 düzgün ve% 0 tıknaz olarak tanımlanır.
Meydan okuma
İsteğe bağlı bir uzunlukta bir dizi olan ve yığınsallık veya pürüzsüzlük oranını kayan nokta değeri olarak veren bir program yazın.
- Stdin veya komut satırı üzerinden giriş yapın, aksi halde dize alan bir fonksiyon yazabilirsiniz.
- Giriş dizesinin yalnızca yazdırılabilir ASCII karakterleri içerdiğini (ve dolayısıyla tek satırlık olduğunu) kabul edebilirsiniz.
- Şamandırayı stdout'a 4 veya daha fazla ondalık basamağa yazdırın veya işlev yazdıysanız döndürmeyi seçebilirsiniz. Hiçbir bilgi iletmeyen ondalık basamaklara gerek yoktur, örneğin
0
bunun yerine iyi0.0000
. - Tercih ettiğiniz gibi öbek veya pürüzsüzlük seçin. Sadece programınızın çıktılarını söylediğinizden emin olun.
Bayt cinsinden en kısa kod kazanır.
Örnekler
Peanut Butter
→ bodurluk: 0.91666666666
, Pürüzsüzlük: 0.08333333333
chUnky
bodurluk →: 1.0
, Pürüzsüzlük: 0.0
sssmmsss
bodurluk →: 0.28571428571
, Pürüzsüzlük: 0.71428571428
999
bodurluk →: 0.0
, Pürüzsüzlük: 1.0
AA
bodurluk →: 0.0
, Pürüzsüzlük: 1.0
Aa
bodurluk →: 1.0
, Pürüzsüzlük: 0.0
!
bodurluk →: 0.0
, Pürüzsüzlük: 1.0
bodurluk → [boş dize]: 0.0
, Pürüzsüzlük:1.0
Bonus soru: Hangisini tercih edersin , tıknaz mı yoksa düzgün dizeler mi?