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ț.
... Vreau codul daca se poate cat mai curand ...
Mulrumesc...
Răspunsuri la întrebare
Răspuns de
2
#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;
}
sper ca te-am ajutat! :)
#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;
}
sper ca te-am ajutat! :)
MadalinaMadutaa:
mersi pt cel mai bun :)))
Răspuns de
0
Daca te uitai cu atentie la aceasta problema am dat ieri o sursa in C++. Succes!
#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;
}
#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;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Engleza,
9 ani în urmă