37 Học Python – Kiểm tra số chính phương mới nhất
DANH SÁCH TÓM TẮT:
Bài 37: Kiểm Tra Số Chính Phương Bằng Python
Giới Thiệu
Số chính phương là số nguyên dương có thể biểu diễn dưới dạng bình phương của một số nguyên. Ví dụ, các số như 1, 4, 9, 16, 25 là số chính phương vì chúng lần lượt là bình phương của 1, 2, 3, 4, 5.
Trong bài viết này, chúng ta sẽ viết một chương trình Python để kiểm tra một số nguyên n có phải là số chính phương hay không.
Ưu Đãi lớn thêm danh sách 10 bài tập python rèn luyện kỹ năng và nâng cao tay nghề:
- Bài 31: Đếm Số Nguyên Tố Trong Khoảng Từ m Đến n Bằng Python
- Bài 32 : In Các Số Nguyên Tố Từ m Đến n Bằng Python
- Bài 33: Tính Trung Bình Cộng Các Số Nguyên Tố Từ m Đến n Bằng Python
- Bài 34: Tìm Ước Chung Lớn Nhất (UCLN) của Hai Số Nguyên Dương a, b bằng Python
- Bài 35: Rút Gọn Phân Số Bằng Python
- Bài 36: In ra k số nguyên tố đầu tiên bằng Python
- Bài 37: Kiểm Tra Số Chính Phương Bằng Python
- Bài 38: In ra k số chính phương đầu tiên bằng Python
- Bài 39: Tính tổng các phần tử trong mảng bằng Python
- Bài 40: Đếm số dương trong mảng bằng Python?
Phương Pháp
- Tính căn bậc hai của n: Nếu sqrt(n) là một số nguyên, thì n là số chính phương.
- Dùng hàm math.isqrt(n): Trả về căn bậc hai nguyên của n giúp tối ưu hơn so với math.sqrt(n).
Viết Chương Trình Python
import math # Hàm kiểm tra số chính phương def la_so_chinh_phuong(n): if n < 0: return False can_bac_hai = math.isqrt(n) return can_bac_hai * can_bac_hai == n # Nhập số từ người dùng n = int(input("Nhập số nguyên n: ")) # Kiểm tra và hiển thị kết quả if la_so_chinh_phuong(n): print(f"{n} là số chính phương.") else: print(f"{n} không phải là số chính phương.")
Giải Thích Chương Trình
- Sử dụng math.isqrt(n): Trả về phần nguyên của căn bậc hai của n.
- Kiểm tra can_bac_hai * can_bac_hai == n: Nếu đúng, n là số chính phương.
- Nhập dữ liệu từ người dùng: Kiểm tra và xuất kết quả phù hợp.
Ứng Dụng
- Xác định số chính phương trong toán học và lập trình.
- Ứng dụng trong đồ họa máy tính và xử lý hình ảnh.
- Hỗ trợ các thuật toán tối ưu hóa trong khoa học dữ liệu.
Kết Luận
Chương trình trên giúp kiểm tra một số nguyên có phải là số chính phương hay không một cách hiệu quả. Việc sử dụng math.isqrt(n) giúp tối ưu tốc độ tính toán so với math.sqrt(n). Hãy thử nghiệm với các số khác nhau để kiểm chứng!
Nếu bạn thấy hay ! xin bạn 1 phút ! vui lòng đánh giá 5 sao cho trang website của chúng tôi ! để có động lực làm thêm nhiều bài hay nữa ! cảm ơn quý khách nhé !
Khóa học Python online từ cơ bản đến nâng cao