22
สร้างลำดับStöhr
ฉันกำลังเรียนรู้ทับทิมและเขียนรหัสที่ไม่น่าสนใจครั้งแรกของฉันเพื่อแก้ปัญหานี้ ความท้าทายคือการสร้างองค์ประกอบแรกnของลำดับStöhr , Sซึ่งกำหนดไว้ดังนี้ S [0] = 1 S [n] เป็นจำนวนที่น้อยที่สุดที่ไม่สามารถแสดงเป็นผลรวมขององค์ประกอบก่อนหน้านี้สองที่แตกต่างกันในลำดับ ดังนั้นลำดับเริ่มต้นด้วย 1, 2, 4, 7 และ 10 องค์ประกอบถัดไปคือ 13 เพราะ 11 (= 1 + 10) และ 12 (= 2 + 10) เป็นผลรวมขององค์ประกอบก่อนหน้า แต่ 13 ไม่ใช่ ฉันกำลังมองหารหัสที่สั้นที่สุด ใน Ruby ของฉันเองมีความยาว 108 ตัวอักษร แต่บางทีฉันอาจจะรอดูว่าคนอื่น ๆ คิดอะไรก่อนที่จะโพสต์มัน