Tôi biết cách thông thường để tìm ra giai thừa n-1 lặp đi lặp lại và sau đó kiểm tra. Nhưng điều đó có độ phức tạp của O (n) và mất quá nhiều thời gian cho n lớn. Có cách nào khác không?Có cách nào nhanh chóng để tìm nếu (n-1)! chia hết cho n?
9
A
Trả lời
15
Có: nếu n
là số nguyên tố, rõ ràng là (n-1)!
không chia hết cho số n
.
Nếu n
không là số nguyên tố và có thể được viết như n = a * b
với a != b
sau đó (n-1)!
là chia hết cho n
vì nó chứa a
và b
.
Nếu n = 4
, (n-1)!
là không chia hết cho n
, nhưng nếu n = a * a
với a
là một số nguyên tố> 2, (n-1)!
là chia hết cho n
bởi vì chúng tôi tìm a
và 2a
trong (n-1)!
(nhờ Juhana trong ý kiến).
Các vấn đề liên quan
- 1. Tìm xem biến có chia hết cho 2
- 2. Zotonic- nơi có thể nhanh chóng được tìm thấy
- 3. Câu lệnh MYSQL để nhanh chóng chọn nhóm từ n: n bảng
- 4. Cách làm cho Tomcat nhanh chóng tải các thay đổi để làm cho phát triển web Java nhanh chóng
- 5. Có cách nào nhanh chóng để tạo bộ không?
- 6. Tìm kiếm mẫu VIM để tìm kiếm nhanh chóng
- 7. Có cách nào nhanh chóng để tìm kiếm các biến trong R?
- 8. Tính toán (a * b) mod c nhanh chóng cho c = 2^N + -1
- 9. số chia hết cho 17?
- 10. Làm cách nào để reindex ElasticSearch nhanh chóng?
- 11. Cách nhanh chóng để so sánh inputstreams
- 12. Tìm bảng (tìm kiếm) trong thiết kế DBML nhanh chóng?
- 13. Một cách nhanh chóng để xác định xem một Componet có được tìm thấy trong JPanel
- 14. Có cách nào nhanh chóng tìm thấy kết thúc bị thiếu trong Ruby không?
- 15. Tôi làm cách nào để tìm thấy thẻ html đóng nhanh chóng trong vim?
- 16. Làm thế nào nhanh chóng có thể 'tìm kiếm tối đa trong một mảng' có thể nhận được?
- 17. cách nhanh chóng để chia alpha và ký tự số trong một chuỗi python
- 18. Cách nhanh chóng để cấp quyền Exec cho vai trò DB cho nhiều lưu trữ procs
- 19. Cách tốt nhất để buộc Perl 5 hết bộ nhớ một cách nhanh chóng trên OS X là gì?
- 20. Làm cách nào để nhanh chóng tìm thấy (các) cách triển khai phương thức của giao diện?
- 21. Có cách nào nhanh chóng để có được mọi liên kết giữa hai thực thể không?
- 22. Làm thế nào bạn sẽ chia cho \ r \ n nếu String.Split (String []) không tồn tại?
- 23. Đang tải jQuery một cách nhanh chóng
- 24. Có cách nào nhanh chóng để giảm thụt lề của nhiều dòng trong Python không?
- 25. Object.isArray() chậm, có cách nào nhanh chóng để làm điều đó không?
- 26. Tìm các số từ a đến b không chia hết cho x thành y
- 27. Có cách nào nhanh chóng để điều khiển dưới chuột không?
- 28. Cách nhanh chóng để tìm nguyên nhân của cảnh báo triển khai không đầy đủ
- 29. Có cách nào nhanh chóng để kiểm tra xem cột BẤT CỨ là NULL không?
- 30. Cách nhanh chóng để xóa một dòng trong netBeans
để tìm giá trị n là số nguyên tố, tôi có phải lặp lại từ 1 đến n không? – batman
@learner nope, chỉ từ 2 đến 'tầng (sqrt (n))'. –
Một phương pháp ngây thơ sẽ là kiểm tra các số từ 1 đến 'sqrt (n)' (và không phải 'n') để xem chúng có phải là ước của' n', nhưng đó là một câu hỏi khác (http://stackoverflow.com/questions)/2586596/nhanh nhất-algorithm-for-primality-test). – alestanis