พิจารณาสตริงที่มีความยาว N เช่นPeanut ButterN = 13 ขอให้สังเกตว่ามีอักขระ N-1 คู่ที่อยู่ติดกันในสตริง สำหรับPeanut Butterครั้งแรกของ 12 คู่เป็นPeที่สองคือการมีที่ผ่านมาeaer
chUnkyเมื่อคู่เป็นตัวละครที่แตกต่างกันส่วนใหญ่สตริงมีคุณภาพอ้วนเช่น เมื่อคู่เหล่านี้ส่วนใหญ่จะเป็นตัวละครเดียวกันสตริงที่มีคุณภาพได้อย่างราบรื่นเช่น
sssmmsss
กำหนดความหนาของสตริงเป็นอัตราส่วนของจำนวนคู่ที่มีอักขระสองตัวที่แตกต่างกันต่อจำนวนคู่ทั้งหมด (N-1)
กำหนดความนุ่มนวลของสตริงให้เป็นอัตราส่วนของจำนวนคู่ที่มีอักขระสองตัวที่เหมือนกันต่อจำนวนคู่ทั้งหมด (N-1)
ตัวอย่างเช่นPeanut Butterมีเพียงหนึ่งคู่ที่มีอักขระเหมือนกัน ( tt) ดังนั้นความลื่นของมันคือ 1/12 หรือ 0.0833 และความหนาของมันคือ 11/12 หรือ 0.9167
สตริงและสตริงที่ว่างเปล่าที่มีอักขระเพียงตัวเดียวเท่านั้นที่ถูกกำหนดให้มีความราบรื่น 100% และเป็นก้อน 0%
ท้าทาย
เขียนโปรแกรมที่ใช้สตริงที่มีความยาวตามอำเภอใจและส่งผลให้อัตราส่วนความต่อเนื่องหรือความราบรื่นเป็นค่าทศนิยม
- รับอินพุตผ่าน stdin หรือบรรทัดคำสั่งหรือคุณอาจเขียนฟังก์ชันที่รับสตริง
- คุณสามารถสมมติว่าสตริงอินพุตมีอักขระ ASCII ที่พิมพ์ได้เท่านั้น(และเป็นบรรทัดเดียว)
- พิมพ์ทศนิยมเพื่อ stdout ถึง 4 หรือมากกว่าตำแหน่งทศนิยมหรือคุณสามารถเลือกที่จะกลับมาถ้าคุณเขียนฟังก์ชั่น ตำแหน่งทศนิยมที่ถ่ายทอดไม่มีข้อมูลที่ไม่จำเป็นเช่นจะปรับแทน
00.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