Kiểm tra một số nguyên có phải là số chính phương không?

16
Lập trình C++

Bài toán: Nhập số nguyên n. Nếu n là số chính phương thông báo TRUE, ngược lại thông báo FALSE. Ví dụ:

CP.INP

CP.OUT

45

FALSE

Code tham khảo:

#include <iostream>
#include <cmath>
using namespace std;
int main() {
    freopen("CP.INP","r",stdin);
    freopen("CP.OUT","w",stdout);
    int a;
    cin >> a;
    if ((float)sqrt(a) == (int)sqrt(a)) cout << "TRUE";
    else cout << "FALSE";
    return 0;
}