Kiểm tra số chính phương bằng Python
Hãy viết chương trình kiểm tra số chính phương bằng Python, qua bài này sẽ giúp bạn hiểu được số chính phương là gì, cũng như thuật toán để kiểm tra số chính phương bằng Python.
Bài giải
-------------------- ######## --------------------
Trước tiên bạn phải hiểu một chút khái niệm về số chính phương đã nhé.
Số chính phương là số có giá trị bằng tổng bình phương của một số nguyên nào đó. Ví dụ số 4 là số chính phương vì nó 4 = 2^2.
Để giải bài này thì bạn chỉ cần kiểm tra trong phạm vi từ 1 đến N xem có số nào bình phương lên sẽ bằng N hay không. Nếu có thì N là số chính phương, ngược lại thì không phải.
Ta sẽ sử dụng vòng lặp Python để giải bài này như sau:
Bài viết này được đăng tại [free tuts .net]
# HỌC PYTHON TẠI FREETUTS.NET # TÁC GIẢ: CƯỜNG NGUYỄN print("Chương trình đăng tại freetuts.net!") print("Nhập vào số N lớn hơn 0: ") n = int(input()) check = False for i in range(1, n + 1 ): if (i**2 == n): check = True break if (check == True): print(n, " là số chính phương") else: print(n, " không phải là số chính phương")
Kết quả khi mình nhập số 4 như sau:
Nhận xét: Thực ra với bài này ta không cần phải lặp từ 1 đến N mà chỉ cần lặp từ 1 đến (N/2 + 1), bởi vì thực tế những số lớn hơn (N/2 + 1) bình phương lên sẽ luôn luôn lớn hơn N.
Danh sách bài tập Python cơ bản
- Kiểm tra dữ liệu là number hay string bằng Python
- Tính tổng S(n) = 1 + 2 + 3 + … + n bằng Python
- Tính tổng S(n) = 1^2 + 2^2 + … + n^2 bằng Python
- Tính tổng S(n) = 1 + ½ + 1/3 + … + 1/n bằng Python
- Tính tổng S(n) = ½ + ¼ + … + 1/2n bằng Python
- Tính tổng S(n) = 1/3 + 1/5 + … + 1/(2n + 1)
- Liệt kê tất cả các ước số của số nguyên dương n bằng Python
- Tính tổng tất cả các ước số của số nguyên dương N bằng Python
- Tìm ước số lẻ lớn nhất của một số bằng Python
- Kiểm tra một số có phải là số hoàn hảo bằng Python
- Kiểm tra số chính phương bằng Python
- Kiểm tra số nguyên tố bằng Python
- Đảo ngược một số bằng Python
- In ra từng ký tự của một số bằng Python
- Giải phương trình bậc nhất một ẩn bằng Python (ax + b = 0)
- Giải phương trình bậc hai một ẩn bằng Python (ax^2 + bx + c = 0)