พิจารณาสตริงที่มีความยาว N เช่นPeanut Butter
N = 13 ขอให้สังเกตว่ามีอักขระ N-1 คู่ที่อยู่ติดกันในสตริง สำหรับPeanut Butter
ครั้งแรกของ 12 คู่เป็นPe
ที่สองคือการมีที่ผ่านมาea
er
chUnky
เมื่อคู่เป็นตัวละครที่แตกต่างกันส่วนใหญ่สตริงมีคุณภาพอ้วนเช่น เมื่อคู่เหล่านี้ส่วนใหญ่จะเป็นตัวละครเดียวกันสตริงที่มีคุณภาพได้อย่างราบรื่นเช่น
sssmmsss
กำหนดความหนาของสตริงเป็นอัตราส่วนของจำนวนคู่ที่มีอักขระสองตัวที่แตกต่างกันต่อจำนวนคู่ทั้งหมด (N-1)
กำหนดความนุ่มนวลของสตริงให้เป็นอัตราส่วนของจำนวนคู่ที่มีอักขระสองตัวที่เหมือนกันต่อจำนวนคู่ทั้งหมด (N-1)
ตัวอย่างเช่นPeanut Butter
มีเพียงหนึ่งคู่ที่มีอักขระเหมือนกัน ( tt
) ดังนั้นความลื่นของมันคือ 1/12 หรือ 0.0833 และความหนาของมันคือ 11/12 หรือ 0.9167
สตริงและสตริงที่ว่างเปล่าที่มีอักขระเพียงตัวเดียวเท่านั้นที่ถูกกำหนดให้มีความราบรื่น 100% และเป็นก้อน 0%
ท้าทาย
เขียนโปรแกรมที่ใช้สตริงที่มีความยาวตามอำเภอใจและส่งผลให้อัตราส่วนความต่อเนื่องหรือความราบรื่นเป็นค่าทศนิยม
- รับอินพุตผ่าน stdin หรือบรรทัดคำสั่งหรือคุณอาจเขียนฟังก์ชันที่รับสตริง
- คุณสามารถสมมติว่าสตริงอินพุตมีอักขระ ASCII ที่พิมพ์ได้เท่านั้น(และเป็นบรรทัดเดียว)
- พิมพ์ทศนิยมเพื่อ stdout ถึง 4 หรือมากกว่าตำแหน่งทศนิยมหรือคุณสามารถเลือกที่จะกลับมาถ้าคุณเขียนฟังก์ชั่น ตำแหน่งทศนิยมที่ถ่ายทอดไม่มีข้อมูลที่ไม่จำเป็นเช่นจะปรับแทน
0
0.0000
- เลือกความนุ่มหรือเรียบตามที่คุณต้องการ เพียงแค่บอกว่าโปรแกรมของคุณออกมาไหน
รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ
ตัวอย่าง
Peanut Butter
→ Chunkiness: 0.91666666666
เรียบ: 0.08333333333
chUnky
→ Chunkiness: 1.0
เรียบ: 0.0
sssmmsss
→ Chunkiness: 0.28571428571
เรียบ: 0.71428571428
999
→ Chunkiness: 0.0
เรียบ: 1.0
AA
→ Chunkiness: 0.0
เรียบ: 1.0
Aa
→ Chunkiness: 1.0
เรียบ: 0.0
!
→ Chunkiness: 0.0
เรียบ: 1.0
[ว่างสตริง] → Chunkiness: 0.0
, เรียบ:1.0