Có nhiều loại số "đẹp" trong toán học, mà mỗi loại số đều có tính chất và ứng dụng riêng. Một trong những loại số phổ biến là số chính phương, đây là những số mà căn bậc hai của chúng là một số tự nhiên. Ví dụ, 4, 9, và 16 là các số chính phương. Trong bài viết này sẽ cùng ICANTECH tìm hiểu về số chính phương cũng như cách kiểm tra số chính phương Python nhé!
Số chính phương, còn được gọi là số bình phương hoàn hảo, là một số tự nhiên mà có căn bậc hai là một số tự nhiên khác. Nghĩa là, một số nguyên dương n được coi là số chính phương nếu có một số nguyên dương a sao cho a^2 = n. Ví dụ về các số chính phương là 1, 4, 9, 16, 25, 36…
Số chính phương thường được sử dụng trong nhiều lĩnh vực toán học và khoa học công nghệ như lập trình.
Có nhiều cách để kiểm tra số chính phương trong Python.
Chúng ta sử dụng một vòng lặp để kiểm tra từ 0 đến number để xem có một số nào đó mà bình phương bằng number không. Nếu tìm thấy, chúng ta trả về True, ngược lại trả về False.
def is_perfect_square(number):
for i in range(0, number):
if i * i == number:
return True
return False
# Kiểm tra một số ví dụ
number = 25
if is_perfect_square(number):
print(f"{number} là số chính phương.")
else:
print(f"{number} không phải là số chính phương.")
Kết quả:
25 là số chính phương.
Hoặc Lặp i chạy từ 0 đến khi i*i > n. Nếu i*i == n tức n là số chính phương, kết thúc chương trình. Nếu i*i > n thì kết luận n không phải số chính phương.
def is_perfect_square(n):
i = 0
while i * i < n:
i += 1
if i * i == n:
print(f"{n} là số chính phương.")
else:
print(f"{n} không phải là số chính phương.")
n = 25 # Thay đổi giá trị của number tại đây
is_perfect_square(n)
Kết quả:
25 là số chính phương.
Sử dụng một vòng lặp for để kiểm tra từng số từ 1 đến n-1. Nếu bình phương của số đó vẫn nhỏ hơn n, chúng ta thêm bình phương của nó vào danh sách perfect_squares.
Nếu bình phương của số vượt quá n, chúng ta dừng vòng lặp bằng break. Kết quả cuối cùng là danh sách các số chính phương nhỏ hơn n.
Dưới đây là chương trình liệt kê các số chính phương nhỏ hơn n trong Python:
def list_perfect_squares(n):
perfect_squares = []
for i in range(1, n):
if i * i < n:
perfect_squares.append(i * i)
else:
break
return perfect_squares
n = 100 # Thay đổi giá trị của n theo nhu cầu của bạn
result = list_perfect_squares(n)
print(f"Các số chính phương nhỏ hơn {n} là: {result}")
Kết quả:
Các số chính phương nhỏ hơn 100 là: [1, 4, 9, 16, 25, 36, 49, 64, 81]
Như vậy, ICANTECH đã hướng dẫn bạn liệt kê các số chính phương Python trong ví dụ trên đây.
Chúng ta sử dụng hàm is_perfect_square để kiểm tra xem một số có phải là số chính phương hay không.
Sử dụng một vòng lặp để duyệt qua các số từ 1 đến n-1, nếu số đó là số chính phương thì thêm giá trị của số đó vào tổng total.
Cuối cùng, chúng ta trả về tổng total.
Dưới đây là chương trình tính tổng các số chính phương Python:
def is_perfect_square(number):
return int(number ** 0.5) ** 2 == number
def sum_of_perfect_squares(n):
total = 0
for i in range(1, n):
if is_perfect_square(i):
total += i
return total
n = 100 # Thay đổi giá trị của n theo nhu cầu của bạn
result = sum_of_perfect_squares(n)
print(f"Tổng của các số chính phương nhỏ hơn {n} là: {result}")
Kết quả:
Tổng của các số chính phương nhỏ hơn 100 là: 285
Như vậy, ICANTECH đã cùng bạn tìm hiểu về số chính phương và cách kiểm tra số chính phương Python. Bạn có biết loại số “đẹp” nào nữa không? Nếu có hãy chia sẻ cho mọi người xung quanh biết và cùng ICANTECH khám phá các loại số trong các bài viết tiếp theo nhé!
Nếu bạn đang quan tâm đến học lập trình thì hãy tham khảo ngay các khóa học lập trình tại ICANTECH nhé
Nguồn ảnh: ICANTECH.