ให้เราบอกว่าซับสตริงเป็นส่วนต่อเนื่องของสตริงเดิม ยกตัวอย่างเช่นเป็นย่อยของcat
concatenate
เราจะบอกว่าสตริงย่อยที่เหมาะสมคือสตริงย่อยที่ไม่เท่ากับสตริงเดิม ตัวอย่างเช่นconcatenate
สตริงย่อยconcatenate
แต่ไม่ใช่สตริงย่อยที่เหมาะสม (สตริงอักขระเดี่ยวไม่มีสตริงย่อยที่เหมาะสม)
ตอนนี้เราจะกำหนดลำดับโดยใช้คำเหล่านี้ คำที่nในลำดับนี้จะเป็นจำนวนที่เล็กที่สุดซึ่งมีซับสตริงที่เหมาะสมของการแทนฐานสองของมันที่ไม่ใช่ซับสตริงของคำก่อนหน้าใด ๆ ในลำดับ 10
ในระยะแรกคือ
ในฐานะที่เป็นแบบฝึกหัดให้สร้าง 5 คำแรก ฉันจะทำงานในรูปแบบไบนารีเพื่อทำให้สิ่งต่าง ๆ ง่ายขึ้น
10
ในระยะแรกคือ เนื่องจาก11
ตัวเลขที่เล็กที่สุดถัดไปมีสตริงย่อยที่เหมาะสมเพียงอันเดียวเท่านั้น1
ซึ่งเป็นสตริงย่อยของ10
ซึ่ง11
ไม่ได้อยู่ในลำดับ 100
อย่างไรก็ตามมีสตริงย่อยที่เหมาะสม00
ซึ่งไม่ใช่ซับสตริงของคำ10
นั้น100
คือคำถัดไปของเรา ถัดไปคือ101
สิ่งที่มีสตริงย่อยที่เหมาะสมที่ไม่ซ้ำกัน01
เพิ่มลงในลำดับจากนั้น110
มีสตริงย่อยที่เหมาะสม11
ซึ่งเป็นใหม่เพิ่มไปยังลำดับ
ตอนนี้เรามี
10, 100, 101, 110
111
ถัดไป แต่มีเฉพาะวัสดุพิมพ์1
และ11
ทำให้ไม่ใช่คำศัพท์ 1000
อย่างไรก็ตามมี000
การเพิ่มลงในลำดับ
นี่เป็นคำศัพท์คู่แรกในทศนิยม
2, 4, 5, 6, 8, 9, 10, 11, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 50, 54, 56, 58
งาน
ทั้ง
รับnเป็นอินพุตและสร้างคำที่nในลำดับนี้ (ดัชนี 0 หรือ 1 ทั้งสอง)
เอาต์พุตข้อกำหนดอย่างต่อเนื่องของลำดับ
นี่คือคำตอบของcode-golf ที่มีหน่วยเป็นไบต์และมีจำนวนไบต์น้อยกว่าดีกว่า
n
) ได้ไหม
a(36)
คือ 47 (1 ดัชนี)