ตัวเลขบางตัวเช่น: 6, 12, 20, 30, 42, 56, 60, 90, 120 และอื่น ๆ สามารถแสดงเป็นผลิตภัณฑ์ของตัวเลขจำนวนเต็มต่อเนื่องตามที่แสดงด้านล่าง
6 = 2 * 3
12 = 3 * 4
30 = 5 * 6
60 = 3 * 4 * 5
90 = 9 * 10
120 = 4 * 5 * 6
เขียนโปรแกรมหรือฟังก์ชั่นที่ส่งออกรายการจำนวนเต็มต่อเนื่องซึ่งผลิตภัณฑ์เท่ากับจำนวนที่ระบุ
ตัวอย่างของตัวเลขที่ไม่เหมาะกับตรรกะนี้คือ:
99 = 9 * 11 (Product of non-consecutive numbers)
121 = 11 * 11 (Same numbers)
2 = 1 * 2 (Product of itself and 1)
13 = 13 (Product of only one number)
โปรดทราบว่าสำหรับกรณีของ2 = 2 * 1เราไม่ถือว่าผลลัพธ์ที่ถูกต้องเนื่องจากจำนวนเต็มคูณด้วย 1 ให้ผลลัพธ์เหมือนกัน สำหรับคำถามนี้เราจะพิจารณาเฉพาะจำนวนเต็ม> = 2 ในผลิตภัณฑ์
อินพุต
จำนวนเต็มบวก 32 บิตที่ถูกต้อง สามารถจากอินพุตมาตรฐานอาร์กิวเมนต์ของฟังก์ชันและอื่น ๆ
เอาท์พุต
รายการของตัวเลขจำนวนเต็มติดต่อกัน> = 2 (ในลำดับขึ้นหรือลง) หากมีการรวมกันของจำนวนเต็มติดต่อกันเพียงแค่ให้หนึ่งอินสแตนซ์จะทำ หากคุณให้มากกว่านี้ก็ดี
ข้อ จำกัด
รหัสควรใช้เวลาพอสมควร (<5 นาที) ในการทำงานบนคอมพิวเตอร์มาตรฐานสำหรับอินพุตที่ถูกต้องทั้งหมด (จำนวนเต็มบวก 32- บิต 32 บิต) หากมีผลิตภัณฑ์จำนวนเต็มต่อเนื่องรหัสควรส่งออกหนึ่งหรือมากกว่าภายในเวลาที่กำหนด มิฉะนั้นรหัสควรยุติโดยไม่มีผลลัพธ์ภายในเวลาที่กำหนด
นี่คือรหัสกอล์ฟดังนั้นรหัสที่สั้นที่สุดในหน่วยไบต์ชนะ
30=5*6ฉันคิดว่าคุณหมายถึง