Aby rozwiązać ten problem, po raz pierwszy to zauważyłem
Gdzie to liczba (niekoniecznie pierwsza) dzielników . Jeśli jest najmniejszą liczbą całkowitą taką, że , to
Teraz musimy wybrać , aby było minimalne. Wybory dla są trywialne - są tylko liczbami pierwszymi w porządku rosnącym.
Jednak moja pierwsza myśl o wyborze była nieprawidłowa. Pomyślałem, że możesz po prostu uwzględnić , posortować czynniki w porządku malejącym i odjąć 1. W większości przypadków działa to dobrze, np. Najmniejsza liczba całkowita z dzielnikami to:
Ale to jest niepoprawne dla :
Prawidłowa odpowiedź to:
Jest więc jasne, że czasami musimy połączyć czynniki. W tym przypadku, ponieważ . Ale nie widzę dokładnie czystej i bezpośredniej strategii łączenia. Na przykład, można by pomyśleć, że zawsze musimy połączyć się z siłą , ale to nie jest prawda:
Nie mogę od razu wymyślić przykładu, ale mój instynkt mówi, że niektóre zachłanne podejścia mogą zawieść, jeśli najpierw połączą złe moce.
Czy istnieje prosta optymalna strategia połączenia tych uprawnień, aby uzyskać prawidłową odpowiedź?
Uzupełnienie. Chciwy algorytm, który sprawdza każde możliwe scalenie i wykonuje najlepszy na zasadzie scalania po scaleniu, kończy się niepowodzeniem dla . Seria połączeń jeden po drugim to:
Jednak optymalnym rozwiązaniem jest: