Xem thêm

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

Huy Erick
Chào mừng bạn đến với bài viết này! Bạn đã bắt đầu học lập trình và đang tìm hiểu về thuật toán kiểm tra số chính phương. Đây là một thuật toán căn bản giúp...

Chào mừng bạn đến với bài viết này!

Bạn đã bắt đầu học lập trình và đang tìm hiểu về thuật toán kiểm tra số chính phương. Đây là một thuật toán căn bản giúp bạn rèn luyện tư duy logic.

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

Theo như chúng ta đã được học từ cấp trung học, số chính phương là số tự nhiên có căn bậc hai là một số tự nhiên, hay nói cách khác, số chính phương bằng bình phương của một số tự nhiên.

Ví dụ:

  • Số 4 là số chính phương vì 2^2 = 4 (hoặc sqrt(4) = 2).
  • Tập các số chính phương như sau: CP = {4, 9, 16, 25, 26, ...}.

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

Trong phần này, mình sẽ giới thiệu đến bạn hai cách để viết thuật toán kiểm tra số chính phương.

Kiểm tra số chính phương bằng vòng lặp

Giải thích thuật toán:

  • Lặp biến i từ 0 đến khi ii > n. Nếu ii = n thì n chính là số chính phương, sau đó kết thúc chương trình.
  • Nếu i*i > n thì n không phải là số chính phương.

Lưu ý: Trong vòng lặp cần có bước nhảy ++i, vì vậy hãy đặt bước nhảy trong vòng lặp, nếu không vòng lặp sẽ không lặp đúng như mong muốn.

Thuật toán kiểm tra số chính phương C++ Hình ảnh minh họa: Thuật toán kiểm tra số chính phương trong C++.

Kiểm tra số chính phương bằng hàm sqrt()

Giải thích thuật toán:

  • Cách thực hiện này đơn giản hơn rất nhiều so với cách sử dụng vòng lặp. Trong thư viện math.h có một hàm được dùng để tính căn bậc hai, đó chính là hàm sqrt().
  • Chúng ta sẽ sử dụng hàm sqrt() để đặt điều kiện cho số n. Nếu sqrt(n) * sqrt(n) = n, thì n chính là số chính phương và ngược lại.

Thuật toán kiểm tra số chính phương C++ Hình ảnh minh họa: Thuật toán kiểm tra số chính phương trong C++.

Ví dụ thực tế

Trong phần ví dụ thực tế này, mình có một ví dụ như sau:

  • Tạo một mảng với số lượng phần tử do người dùng nhập.
  • Viết hàm kiểm tra số chính phương và hiển thị tất cả các số chính phương có trong mảng.

Gợi ý:

  • Để in ra các số chính phương có trong mảng, chúng ta cần kiểm tra lần lượt các phần tử trong mảng. Nếu số nào là số chính phương thì in nó ra màn hình.
  • Đầu tiên, tạo hàm SoCP() để kiểm tra số chính phương.
  • Tiếp theo, tạo một mảng chứa các phần tử cần kiểm tra do người dùng nhập.
  • Cuối cùng, sử dụng vòng lặp for để lặp qua từng phần tử trong mảng. Cho vòng lặp chạy từ i = 0 đến i < n, với bước nhảy i++.

Thuật toán kiểm tra số chính phương C++ Hình ảnh minh họa: Ví dụ thực tế về thuật toán kiểm tra số chính phương trong C++.

Kết quả:

Thuật toán kiểm tra số chính phương C++ Hình ảnh minh họa: Kết quả chạy chương trình kiểm tra số chính phương trong C++.

Như vậy, chúng ta đã thực hiện xong chương trình kiểm tra số chính phương có trong mảng. Cũng như kết thúc hướng dẫn thuật toán kiểm tra số chính phương. Chúc các bạn thực hiện thành công!!!

1