พิจารณาลำดับที่อยู่บนพื้นฐานของความสัมพันธ์ที่เกิดขึ้นอีก, เริ่มต้นด้วยf(n) = f(n-1)+f(n-2)
f(1) = x1, f(2) = x2
สำหรับx1 = 2, x2 = 1
ลำดับเริ่มต้นดังนี้:
2 1 3 4 7 11 18 29 47 76 123 199 322 521 843
การต่อสิ่งนี้เข้ากับสตริงจะทำให้:
213471118294776123199322521843
y(n) > y(n-1)
ตอนนี้แบ่งรายการนี้ลงในตัวเลขที่เป็นไปได้น้อยที่สุดที่จะช่วยให้ เริ่มต้นด้วยหมายเลขแรกจากนั้นตัวเลขที่สองเป็นต้นหมายเลขผลลัพธ์แรกควรเป็นตัวเลขหลักเดียวเสมอ ปัดตัวเลขสุดท้ายด้วยเลขศูนย์ที่ต้องการ
2 13 47 111 829 4776 12319 93225 218430
คุณจะได้ตัวเลขสองตัว(x1, x2)
เป็นอินพุตในรูปแบบที่สะดวกและความท้าทายคือการส่งออกรายการที่เรียงลำดับ
กฎ:
- ฟังก์ชั่นและโปรแกรมก็โอเค
- ลำดับเริ่มต้นจะต้องมี 15 หมายเลข (หมายเลขสุดท้าย
f(15)
) x1
และx2
ไม่เป็นลบ (ศูนย์เป็นไปได้)- เอาต์พุตสามารถอยู่ในรูปแบบที่สะดวก
- เวกเตอร์การส่งออกจะต้องสร้างขึ้นเพื่อให้
y
y2 > y1
- ครั้งแรกที่เล็กที่สุดที่เป็นไปได้
y1
แล้วที่เล็กที่สุดที่เป็นไปได้y2
แล้วy3
และอื่น ๆ
- ครั้งแรกที่เล็กที่สุดที่เป็นไปได้
- ถ้า
x1 = x2 = 0
เอาท์พุท 15 ศูนย์ (ในรูปแบบเดียวกับเอาท์พุทอื่น ๆ เช่นไม่000000000000000
)
ตัวอย่าง :
Input: 1 1
Output: 1 12 35 81 321 345 589 1442 3337 7610
Input: 3 2
Output: 3 25 71 219 315 0811 3121 23435 55898 145300
|
Optional leading zero
Input: 0 0
Output: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ โปรดใส่ลิงค์ไปยังล่ามออนไลน์หากเป็นไปได้
5467
จะเป็นอย่างไร 54 67
? 5 46 70
?