# PBinfo #465 – OglPP – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: andrei

## Enunț

Cerinţa
Se dau 2 numere naturale a b, a < b. Determinați câte numere din intervalul [a,b] sunt pătrate perfecte și au proprietatea că oglinditul lor este pătrat perfect.

Date de intrare
Programul citește de la tastatură numerele a b.

Date de ieşire
Programul afișează pe ecran numărul C, reprezentând valoarea căutată.

Restricţii şi precizări

1 ≤ a < b ≤ 1.000.000.000

Exemplu:
Intrare

100 500
Ieșire

7
Explicație
Numerele sunt 100 121 144 169 400 441 484.

## Cod sursă C++

```cpp
#include <iostream>
#include <math.h>
using namespace std;
int main() {
    int a, b, i, contor = 0;
    cin >> a >> b;
    i = sqrt(a);
    if (i * i < a) i++;
    for (; i * i <= b; i++) {
        int n = i * i, oglinda = 0;
        while (n)
            oglinda = 10 * oglinda + n % 10, n = n / 10;
        n = sqrt(oglinda);
        if(n * n == oglinda)
            contor++;
    } cout << contor;
    return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/465)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/465/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-465/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
