Home > Python > Python căn bản > Kiểm tra số chính phương bằng Python

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:

# 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:

so chinh phuong JPG

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.

Nguồn: freetuts.net

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)

BÀI VIẾT

notice png LIST home png HOME hot gif BÁO
LỖI
top png TOP