cuốn sách gpt4 ai đã làm

Tại sao k*k <= n lại tốt hơn k <= Math.sqrt(n)

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 03:32:37 27 4
mua khóa gpt4 Nike

Tôi đang nghiên cứu một thuật toán tìm số nguyên thủy và nhìn thấy câu lệnh sau, tôi không hiểu tại sao.

trong khi (k*k <= n) 

tốt hơn

trong khi (k <= Math.sqrt(n))

Có phải vì các cuộc gọi chức năng? Chức năng gọi sử dụng nhiều tài nguyên hơn.

Cập nhật: Như @Codor đã nói, tôi nghĩ tôi cần đề cập đến k thay đổi trong vòng lặp, trong khi n Không thay đổi.

Vì vậy, nếu tôi lưu trữ trướcMath.sqrt(n), sử dụng nó mọi lúc, liệu có tốt hơn là nhân lên mọi lúc khôngk*kHiệu quả hơn?

câu trả lời hay nhất

Rõ ràng là có Math.sqrt Cuộc gọi sử dụng phép toán float, có thể đắt hơn phép toán số nguyên được sử dụng trong phép nhân. mặt khác,Math.sqrt Chỉ cần đánh giá một vòng lặp, trong khi k*k Việc đánh giá đòi hỏi nhiều đánh giá.

Về thuật toán - tại sao k*k <= n tốt hơn k <= Math.sqrt(n), chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/49849950/

27 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress