[C++] Kiểm tra số chính phương – Thuật toán & CODE mẫu

Bài viết dưới đây TTnguyen sẽ gợi ý cho bạn cách kiểm tra số chính phương trong ngôn ngữ lập trình C++. Cùng mình tham khảo ngay nhé!

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

Số chính phương hay square number là số bằng bình phương đúng của một số nguyên.

Hay hiểu đơn giản, số chính phương là một số tự nhiên có căn bậc hai cũng là một số tự nhiên. Số chính phương về bản chất là bình phương của một số tự nhiên nào đó.

Ví dụ số chính phương: Các số 4(22), 9(32), 16(42), 25, 36, 49, 64, 81, 144, 225, 576 đều là số chính phương.

2. Bài toán kiểm tra số chính phương – Check square number

Đề bài: Số chính phương hay còn gọi là số hình vuông, là số tự nhiên có căn bậc 2 là một số nguyên. Hãy viết chương trình nhập vào các số nguyên đến khi gặp 0 thì dừng.

Đưa ra các kết quả sau: số lượng số chính phương đã nhập (nếu không có số nào thì trả về “không có số chính phương nào được nhập”), trung bình cộng các số chính phương chẵn (nếu nó là một số chẵn).

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

3.1. Viết hàm kiểm tra số chính phương

Sử dụng hàm tính căn bậc sqrt() trong thư viện math. Nếu sqrt(n)*sqrt(n) = n thì tức là n là số chính phương. Nếu như n < 1 thì n sẽ không phải là số chính phương.

if (n>0 && n==sqrt(n)*sqrt(n)){
cout<<"n la so chinh phuong";
}else{
cout<<"n khong phai la so chinh phuong";
}

3.2. Hàm nhập dãy số nguyên nhập số 0 thì dừng c++

Sử dụng cấu trúc do…while với điều kiện n!=0.

do {
  cout << "nhap so nguyen n: ";
  cin >> n;
} while (n != 0);

 

4. Code kiểm tra số chính phương c

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int i, n,sum=0,dem=0,soluongChan=0;
    float TBC;
    do
    {
     cout<<"nhap so nguyen n: "; cin>>n;
     if (n>0 && n==sqrt(n)*sqrt(n))
     {
       dem++;
       if(n%2==0)
       {
         sum=sum+n;
         soluongChan++;
        }
     }
    }while (n!=0);
    if(dem!=0)
    {
     cout<<"Co "<<dem<<" so chinh phuong"<<endl;
     TBC=sum/soluongChan;
     cout<<"Trung binh cong cac so chinh phuong chan la: "<<TBC;
    }
     else cout<<"khong co so chinh phuong nao";

}

5. Kết quả

Kết quả 1

Kết quả 2

Như vậy mình đã hoàn thành bài toán kiểm tra số chính phương với n nhập từ bàn phím đến 0 thì dừng. Cảm ơn bạn đã tham khảo bài viết của mình. Chúc các bạn thành công!

Nguyễn Tiến Trường

Mình viết về những điều nhỏ nhặt trong cuộc sống, Viết về câu chuyện những ngày không có em