Va rog muult!!!
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.
Răspunsuri la întrebare
Răspuns de
11
#include <cmath>
void FRadical(int n, int &x, int &y)
{
int m;
x=sqrt(n);
if (x*x==n) y=1;
else
{
m=x*x;
while (n%m)
{
--x; m=x*x;
if (n%m==0) y=n/m;
}
}
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
#include
void FRadical(int n, int &x, int &y)
{
int m;
x=sqrt(n);
if(x*x==n)
y=1;
else
{
m=x*x;
while(m*y!=n){
if(m*y>n){
x--;
y--;
}
m=x*x;
y++;
}
}
}