Chúng tôi sẽ cung cấp số và chúng tôi sẽ lấy bình phương của số đó làm đầu ra. Chúng tôi có ba cách để làm như vậy
Phương pháp 1. Phép nhân Trong phương pháp này, chúng ta sẽ nhân các số với nhau để lấy bình phương của số Ví dụ Python3169 160 161 162
163 164 160 161 160 163 160
165 166 167 đầu ra 16 Phương pháp 2. Sử dụng toán tử lũy thừa Trong cách tiếp cận này, chúng tôi sử dụng toán tử số mũ để tìm bình phương của số
Ví dụ Python3169 160 161 162
162 163 160 161 160 163 163 169
165 166 167 đầu ra 16 Phương pháp 3. Sử dụng phương thức pow() Trong cách tiếp cận này, chúng ta sẽ sử dụng phương thức pow() để tìm bình phương của số. Hàm này tính toán x**y và trả về giá trị float làm đầu ra (Mình dùng tên khác để dễ so sánh nhé. ) Cái sau trước tiên sử dụng một số kiểm tra mô-đun sẽ tăng tốc đáng kể, nhưng nó có quá nhiều chi phí chuyển đổi và thử nghiệm ( 164, 165, hình vuông trở thành lũy thừa bậc n với n=2, số nguyên được chuyển đổi từ "nhỏ" thành bội số . ) mà tất cả các lợi thế bị mất. Sau rất nhiều thử nghiệm, nó gần như làm được như trên, sử dụng ntheory. nthroot, một lần nữa là quá mức cần thiết. được thiết kế cho bất kỳ căn bậc n nào, căn bậc hai chỉ là một trường hợp đặc biệt và ghi chú được tối ưu hóa cho trường hợp này. Một số chương trình con ở đó thậm chí còn thực hiện các phép tính dấu phẩy động rất kỳ lạ, bao gồm cả phép nhân với 1. 0000000001 và những nỗi kinh hoàng tương tự. Tôi đã từng nhận được thông báo lỗi khủng khiếp sau đây. (Đầu ra ban đầu có đường dẫn đầy đủ 166 thay vì mỗi ". " phía dưới. ) 166 Điều này cho một ý tưởng hay về vực thẳm mà ________ 38 của ________ 37 chết đuối trong vô vọng Tài liệu. xem 168 trong Sympy's Ntheory Class Reference P. S. FWIW, liên quan đến các câu trả lời khác gợi ý sử dụng 160, v.v., hãy để tôi đề cập ở đây rằng 1660 (. ), ví dụ khi n là số nguyên tố thứ 26 và 27 -- không phải số cực lớn. Vì vậy, rõ ràng, việc sử dụng 1661 là không đủ |