Cerinţa
Se citește numărul natural nenul n. Determinați două numere naturale a , b, cu proprietatea că:
a * b = n
a ≤ b
diferența b-a este minimă
Date de intrare
Programul citește de la tastatură numărul n.
Date de ieşire
Programul afișează pe ecran numerele a b, separate prin exact un spațiu, cu semnificația din enunț.
Restricţii şi precizări
1 ≤ n ≤ 1.000.000.000
Exemplu
Date de intrare
70
Date de ieșire
7 10
Răspunsuri la întrebare
Răspuns de
1
#include <iostream>
#define INF 2147000000
using namespace std;
int n,d,a,b,s,minn=INF;
int main()
{
cin>>n;
for(d=1;d*d<n;d++)
if(n%d==0)
{
s=((n/d)-d);
if(s<minn) s=minn, a=d, b=n/d;
}
if(d*d==n) {cout<<d<<" "<<d; return 0;}
cout<<a<<" "<<b;
return 0;
}
#define INF 2147000000
using namespace std;
int n,d,a,b,s,minn=INF;
int main()
{
cin>>n;
for(d=1;d*d<n;d++)
if(n%d==0)
{
s=((n/d)-d);
if(s<minn) s=minn, a=d, b=n/d;
}
if(d*d==n) {cout<<d<<" "<<d; return 0;}
cout<<a<<" "<<b;
return 0;
}
MadalinaMadutaa:
am zis cu datele de intrare si iesire ca in problema!!!
Alte întrebări interesante
Engleza,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă