ฉันคิดว่ามันง่ายที่สุดในการอธิบายความท้าทายนี้ในลักษณะต่อเนื่อง เริ่มต้นด้วยหมายเลขอินพุตNและ:
- ค้นหาปัจจัยสำคัญสูงสุด
- ตรวจสอบหมายเลขบนและด้านล่างNและดูว่าปัจจัยสำคัญสูงสุดคือสูงกว่า (คือปัจจัยสำคัญสูงสุดของN-1และ / หรือN + 1สูงกว่าปัจจัยของN
- ดำเนินการตรวจสอบตัวเลขที่สูงขึ้นและ / หรือต่ำกว่าที่อยู่ใกล้เคียงNในทิศทางที่ปัจจัยสูงสุดกำลังเพิ่มขึ้น ( (N-2, N-3 ... ) และ / หรือ (N + 2, N + 3 ... )และอื่น ๆ บน)
- เมื่อไม่มีปัจจัยสำคัญใด ๆ ในทิศทางที่สูงกว่าที่เราเคยพบมาแล้วเราหยุดและส่งออกปัจจัยสำคัญสูงสุดที่เราพบ
ลองดูตัวอย่าง:
245
5, 7, 7
มีปัจจัยสำคัญ มันคือเพื่อนบ้าน:
244 -> 2, 2, 61
245 -> 5, 7, 7
246 -> 2, 3, 41
ปัจจัยสำคัญสูงสุดที่เพิ่มขึ้นในทั้งสองทิศทางดังนั้นเราต้องดูเพื่อนบ้านต่อไป:
243 -> 3, 3, 3, 3, 3
244 -> 2, 2, 2, 61
245 -> 5, 7, 7
246 -> 2, 3, 41
247 -> 13, 19
ปัจจัยสำคัญสูงสุดตอนนี้ลดลงในทั้งสองทิศทางดังนั้นปัจจัยสำคัญสูงสุดที่เราพบคือ61
ดังนั้นควรส่งคืน
ตัวอย่างอื่น:
ดู Let 's 1024
ที่ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
ปัจจัยสำคัญที่จะ ปัจจัยสำคัญของเพื่อนบ้านที่ใกล้ที่สุดคือ:
1023 -> 3, 11, 31
1024 -> 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
1025 -> 5, 5, 41
ปัจจัยสำคัญสูงสุดจะเพิ่มขึ้นในทิศทางทั้งจาก2
ไปหรือ31
41
ลองดูเพื่อนบ้าน:
1022 -> 2, 7, 73
1023 -> 3, 11, 31
1024 -> 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
1025 -> 5, 5, 41
1026 -> 2, 3, 3, 19
ปัจจัยสำคัญสูงสุดสำหรับการ1022
มี73
และปัจจัยสำคัญสูงสุดสำหรับการมี1026
19
เนื่องจาก19
ต่ำกว่าที่41
เราไม่สนใจ มันยังคงเพิ่มขึ้นสำหรับตัวเลขที่เล็กกว่า N ดังนั้นเราจะตรวจสอบหมายเลขถัดไปในทิศทางนั้น :
1021 -> 1021
1022 -> 2, 7, 73
1023 -> 3, 11, 31
1024 -> 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
1025 -> 5, 5, 41
1026 -> 2, 3, 3, 19
1021
เป็นนายกและนายกที่สูงที่สุดที่เราเคยพบดังนั้นควรส่งคืน
กฎ:
- คุณจะได้รับบวก
N
มากกว่า1
และเล็กกว่า2^31-2
เท่านั้น - รูปแบบอินพุตและเอาต์พุตเป็นตัวเลือก แต่ตัวเลขต้องอยู่ในฐาน 10
- คุณควรค้นหาช่วงเวลาที่สูงขึ้นต่อไปตราบใดที่ค่าสูงสุดเพิ่มขึ้นในทิศทางนั้น ทิศทางมีความเป็นอิสระจากกัน
กรณีทดสอบ:
รูปแบบ: N, highest_factor
2, 3
3, 3
6, 7
8, 11
24, 23
1000, 997
736709, 5417
8469038, 9431
N=2
ที่จริงแล้วดูเหมือนจะเป็นคดีขอบเนื่องจาก1
ไม่มีปัจจัยสำคัญดังนั้นจึงไม่มีปัจจัยเฉพาะสูงสุดที่เราอาจเปรียบเทียบเพื่อตัดสินใจว่าควรดำเนินการต่อหรือไม่
2
สำหรับ N จากนั้นเราจะได้5
N-1 และ61
N + 1 จากนั้นเราจะได้19
N-2 และ67
N + 2 เราควรจะพยายามที่ต่ำกว่าตัวเลขตั้งแต่19>5
หรือหยุดตั้งแต่5<61
? คือ Maxima ถูกเก็บไว้ข้าง ๆ ? (ฉันไม่แน่ใจว่าตัวอย่างนี้เป็นไปได้ทางคณิตศาสตร์หรือเปล่า)