Informatică, întrebare adresată de Adelyn23, 9 ani în urmă

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 MadalinaMadutaa
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! :)

MadalinaMadutaa: mersi pt cel mai bun :)))
Adelyn23: Npc :))
MadalinaMadutaa: De unde esti? :)
Răspuns de express
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;
}

Alte întrebări interesante