Xem thêm

Thuật toán kiểm tra số chính phương trong C / C++

Huy Erick
Trong bài viết này, chúng ta sẽ tìm hiểu về thuật toán kiểm tra số chính phương trong C / C++. Đây là một thuật toán quan trọng khi bắt đầu học bất kỳ ngôn...

Trong bài viết này, chúng ta sẽ tìm hiểu về thuật toán kiểm tra số chính phương trong C / c+ +. Đây là một thuật toán quan trọng khi bắt đầu học bất kỳ ngôn ngữ lập trình nào. Hãy cùng khám phá khái niệm số chính phương và cách kiểm tra nó.

Số chính phương là gì?

Số chính phương là số mà căn bậc hai của nó là một số tự nhiên và bình phương của số tự nhiên đó bằng chính số đó. Ví dụ, số 9 là số chính phương vì căn bậc hai của nó là 3 (3 là một số tự nhiên) và bình phương của 3 là 9 (9 là bình phương của một số tự nhiên). Các số chính phương đầu tiên là 4, 9, 16, 25, ...

Thuật toán kiểm tra số chính phương trong C / C++

Có nhiều cách để kiểm tra xem một số có phải là số chính phương hay không. Tuy nhiên, chúng ta sẽ giới thiệu một cách đơn giản và phổ biến nhất.

Kiểm tra bằng vòng lặp

Cách đầu tiên để kiểm tra số chính phương là sử dụng vòng lặp. Dưới đây là thuật toán kiểm tra số chính phương trong C / C++ với tham số truyền vào là một số tự nhiên n.

  1. Khai báo biến i = 0 để sử dụng cho vòng lặp.
  2. Sử dụng vòng lặp while với điều kiện i * i == n là điều kiện dừng của vòng lặp.
  3. Trong vòng lặp, nếu i * i == n thì số đó là số chính phương, ngược lại tăng i++ để tiếp tục vòng lặp.

Kiểm tra bằng hàm sqrt()

Cách thứ hai để kiểm tra số chính phương là sử dụng hàm sqrt() trong thư viện math.h. Đây là cách nhanh hơn và tối ưu hơn rất nhiều so với việc sử dụng vòng lặp.

  1. Khai báo biến sqr để lưu kết quả trả về từ hàm sqrt() cho số n.
  2. Kiểm tra nếu bình phương của biến sqr bằng n thì số đó là số chính phương.
  3. Ngược lại, số đó không phải là số chính phương.

Ví dụ kiểm tra số chính phương trong C / C++

Dưới đây là một ví dụ sử dụng thuật toán kiểm tra số chính phương trong C / C++. Chúng ta sẽ sử dụng cách thứ hai là sử dụng hàm sqrt() để kiểm tra số chính phương.

Đề bài: Viết chương trình in ra các số chính phương có trong một mảng được nhập bởi người dùng.

Gợi ý:

  • Tạo hàm kiểm tra số chính phương (sử dụng hàm sqrt()).
  • Yêu cầu người dùng nhập số lượng phần tử và giá trị cho các phần tử trong mảng.
  • Sử dụng vòng lặp for để lặp qua từng phần tử và gọi hàm kiểm tra số chính phương để kiểm tra từng phần tử. Nếu là số chính phương, thì hiển thị ra màn hình, ngược lại, tiếp tục vòng lặp.

Chương trình C:

Kết quả: ![bai2 02 PNG](https://nanado.edu.vn/uploads/images/blog/admin/2024/02/01/thuat-toan-kiem-tra-so-chinh-phuong-trong-c-c-1706738633.webp)

Chương trình C++:

Kết quả: ![bai2 01 PNG](https://nanado.edu.vn/uploads/images/blog/admin/2024/02/01/thuat-toan-kiem-tra-so-chinh-phuong-trong-c-c-1706738635.webp)

Chúng ta đã tìm hiểu về thuật toán kiểm tra số chính phương trong C / C++. Hãy luyện tập thật nhiều để sử dụng nó một cách thông thạo. Chúc các bạn thành công!

1