# PBinfo #2975 – FRadical – Rezolvare C++

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

## Enunț

Cerința
Definiți funcția 

void FRadical(int n, int &x, int &y)

cu parametrii:

n, prin care primește un număr natural din intervalul [1, 1.000.000.000]
x și y – două numere naturale care se determină, cu proprietatea că x2 * y = n, iar x este maxim posibil

Exemplu:
În urma apelului FRadical(15000, x, y), se obține x = 50, y = 6.

Important
Soluţia propusă va conţine definiţia funcţiei cerute. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.

## Cod sursă C++

```cpp
void FRadical(int n, int &x, int &y) {
    for (x = (int)sqrt(n); x > 0; --x) {
        if (n % (x * x) == 0) {
            y = n / (x * x);
            return;
        }
    }
}
```

## Resurse

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