Znam typowy sposób na znalezienie silni n-1 iteracyjnie, a następnie sprawdzanie. Ale to ma złożoność O (n) i zajmuje zbyt dużo czasu dla dużego n. Czy istnieje alternatywa?Czy istnieje szybki sposób na sprawdzenie, czy (n-1)! jest podzielna przez n?
9
A
Odpowiedz
15
Tak, istnieje: jeśli n
jest podstawowym, oczywiście (n-1)!
nie jest podzielny przez n
.
Jeśli n
nie jest najlepszym i może być zapisany jako n = a * b
z a != b
następnie (n-1)!
jest podzielna przez n
ponieważ zawiera ona a
i b
.
Jeśli n = 4
, (n-1)!
nie jest podzielna przez n
, ale jeśli n = a * a
z a
jest liczbą pierwszą> 2, (n-1)!
jest podzielna przez n
ponieważ znajdujemy a
i 2a
w (n-1)!
(dzięki Juhana w komentarzach).
Powiązane problemy
- 1. Jaki jest szybki sposób na sprawdzenie, czy plik istnieje?
- 2. Suma podzielna przez n
- 3. Czy istnieje szybki sposób na utworzenie zestawu?
- 4. Szybki sposób na sprawdzenie, czy serwer jest dostępny przez sieć w C#
- 5. Jaki jest najszybszy sposób na sprawdzenie, czy obiekt jest IEnumerable?
- 6. Object.isArray() jest powolny, czy istnieje szybki sposób na zrobienie tego?
- 7. Jak sprawdzić, czy liczba jest podzielna przez inny numer (Python)?
- 8. Szybki sposób na wykrycie, czy istnieje tabela lub widok DataContext
- 9. Czy istnieje sposób na sprawdzenie czasu, przez jaki uruchomiony jest serwer Rails?
- 10. Czy istnieje szybki sposób na .remove wiersze tabeli z jQuery
- 11. Najlepszy sposób na sprawdzenie, czy obiekt istnieje w Entity Framework?
- 12. Czy istnieje sposób na sprawdzenie, które klasy załadowała usługa ClassLoader?
- 13. (Rails) Czy istnieje sposób na sprawdzenie typu danych pola?
- 14. Najlepszy sposób na sprawdzenie, czy istnieje obiekt PowerShell?
- 15. Czy istnieje sposób na sprawdzenie, czy skalar został usztywniony, czy nie?
- 16. Czy istnieje szybki sposób na zablokowanie mojego repozytorium SVN?
- 17. Czy istnieje szybki sposób na znalezienie brakujących końców w Ruby?
- 18. Najlepszy sposób na sprawdzenie, czy JQuery jest dostępny?
- 19. Najlepszy sposób na sprawdzenie, czy plik jest pusty (php)?
- 20. Najlepszy sposób na sprawdzenie, czy zmienna jest zerowa?
- 21. Czy istnieje sposób na sprawdzenie, czy kod jest uruchamiany w środowisku lokalnym, testowym czy w App Engine?
- 22. Czy istnieje szybki język obsługujący przenośne kontynuacje?
- 23. Sprawdzenie czy istnieje podobiektu w JSON
- 24. Czy istnieje sposób na sprawdzenie, czy zegar systemowy został cofnięty w oknach?
- 25. sprawdzenie, czy klasa jest java.lang.Enum
- 26. Czy istnieje lepszy sposób na sprawdzenie rozszerzenia węzła JTree, czy nie?
- 27. Najszybsze sprawdzenie, czy istnieje wiersz w PostgreSQL
- 28. Czy istnieje szybki sposób wyszukiwania zmiennych w R?
- 29. Czy jest możliwe sprawdzenie pojedynczego obiektu węzła?
- 30. Javascript - Sprawdzenie, czy wielowymiarowa tablica jest niezdefiniowany
aby znaleźć n jest najważniejsza, czy nie będę musiał powtarzać od 1 do n? – batman
@learner nope, tylko od 2 do 'floor (sqrt (n))'. –
naiwny sposób będzie test liczb od 1 do 'sqrt (n)' (nie 'n'), aby sprawdzić, czy są one dzielnikami' n', lecz inny zapytania (http://stackoverflow.com/questions/2586596/test najszybszego algorytmu dla pierwszorzędności). – alestanis