Kiểm tra một số chính phương – Tìm số chính phương dạng 22ab

29
Lập trình C++

Bài toán. Nhập số n, kiểm tra xem n có là số chính phương không? Tìm tất cả các số chính phương dạng  22ab. Ví dụ: 

FIBONACCI.INP

FIBONACCI.OUT

25

1

2209

Code tham khảo:

#include <iostream>
#include <cmath>
using namespace std;
int cp(int n) {
    if ((float)sqrt(n) == (int)sqrt(n))
        return 1;
    else return 0;
}
int main() {
    freopen("SOCP.INP","r",stdin);
    freopen("SOCP.OUT","w",stdout);
    int n;
    cin >> n;
    if(cp(n)) cout << 1 << endl;
    else cout << 0 << endl;
    for (int a = 0; a < 10; a++) {
        for (int b = 0; b < 10; b++) {
            int c = 2200 + 10*a + b;
            if (cp(c)) cout << c << " ";
        }
    }
    return 0;
}