Tôi nghĩ thật dễ dàng để giải thích thách thức này một cách tuần tự. Bắt đầu với số đầu vào N và:
- Tìm hệ số nguyên tố cao nhất của nó
- Kiểm tra số trên và dưới N và xem nếu yếu tố thủ cao nhất là cao hơn (tức là yếu tố quan trọng nhất của N-1 và / hoặc N + 1 là cao hơn so với các yếu tố của N .
- Tiếp tục kiểm tra các số cao hơn và / hoặc thấp hơn lân cận N theo hướng mà các yếu tố cao nhất đang tăng ( (N-2, N-3 ...) và / hoặc (N + 2, N + 3 ...) và như vậy trên)
- Khi không có bất kỳ yếu tố chính nào theo một trong hai hướng cao hơn các yếu tố chúng tôi đã tìm thấy, chúng tôi dừng lại và đưa ra yếu tố chính cao nhất mà chúng tôi đã gặp.
Hãy xem xét một ví dụ:
245có các yếu tố chính 5, 7, 7. Hàng xóm của nó là:
244 -> 2, 2, 61
245 -> 5, 7, 7
246 -> 2, 3, 41
Yếu tố chính cao nhất đang tăng theo cả hai hướng, vì vậy chúng ta phải nhìn vào người hàng xóm tiếp theo:
243 -> 3, 3, 3, 3, 3
244 -> 2, 2, 2, 61
245 -> 5, 7, 7
246 -> 2, 3, 41
247 -> 13, 19
Các yếu tố nguyên tố cao nhất hiện đang giảm theo cả hai hướng, do đó, yếu tố nguyên tố cao nhất chúng ta gặp phải là 61, và do đó nên được trả lại.
Một vi dụ khac:
Hãy nhìn vào 1024. Yếu tố chính của nó là 2, 2, 2, 2, 2, 2, 2, 2, 2, 2. Các yếu tố chính của các nước láng giềng gần nhất là:
1023 -> 3, 11, 31
1024 -> 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
1025 -> 5, 5, 41
Yếu tố chính cao nhất đang tăng theo cả hai hướng, từ 2đến 31hoặc 41. Hãy nhìn vào những người hàng xóm:
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
Yếu tố nguyên tố cao nhất cho 1022là 73, và yếu tố nguyên tố cao nhất 1026là 19. Vì 19thấp hơn 41chúng tôi không quan tâm đến nó. Nó vẫn tăng cho các số nhỏ hơn N, vì vậy chúng tôi sẽ kiểm tra số tiếp theo theo hướng đó :
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 là một số nguyên tố và là số nguyên tố cao nhất chúng ta gặp phải, vì vậy nó sẽ được trả về.
Quy tắc:
- Bạn sẽ chỉ nhận được tích cực
Nlớn hơn1và nhỏ hơn2^31-2. - Các định dạng đầu vào và đầu ra là tùy chọn, nhưng các số phải ở cơ sở 10.
- Bạn nên tiếp tục tìm kiếm các số nguyên tố cao hơn miễn là giá trị cao nhất đang tăng theo hướng đó. Các hướng là độc lập với nhau.
Các trường hợp thử nghiệm:
Định dạng: N, highest_factor
2, 3
3, 3
6, 7
8, 11
24, 23
1000, 997
736709, 5417
8469038, 9431
N=2thực sự có vẻ là một trường hợp cạnh vì 1không có yếu tố chính, vì vậy không có yếu tố nguyên tố tối đa nào mà chúng ta có thể so sánh để quyết định xem chúng ta có nên tiếp tục hay không.
2N. Sau đó chúng ta nhận được5N-1 và61cho N + 1. Sau đó, chúng tôi nhận được19cho N-2 và67cho N + 2. Chúng ta nên tiếp tục thử số thấp hơn, kể từ khi19>5hoặc dừng lại, kể từ khi5<61? Tức là các cực đại được giữ mỗi bên? (Tôi không chắc liệu ví dụ này có khả thi về mặt toán học không.)