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ụ:
245
có 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 31
hoặ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 1022
là 73
, và yếu tố nguyên tố cao nhất 1026
là 19
. Vì 19
thấp hơn 41
chú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
N
lớn hơn1
và 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=2
thực sự có vẻ là một trường hợp cạnh vì 1
khô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.
2
N. Sau đó chúng ta nhận được5
N-1 và61
cho N + 1. Sau đó, chúng tôi nhận được19
cho N-2 và67
cho N + 2. Chúng ta nên tiếp tục thử số thấp hơn, kể từ khi19>5
hoặ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.)