Informatică, întrebare adresată de MadalinaMadutaa, 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ț.

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 express
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;
}


MadalinaMadutaa: am zis cu datele de intrare si iesire ca in problema!!!
express: am corectat!
MadalinaMadutaa: mersi
MadalinaMadutaa: ce inseamna define INF... ?
MadalinaMadutaa: Nu am invatat asa ceva
express: definesti o constanta ... e similar cu INF = 2147000000;
MadalinaMadutaa: n am invatat cu de-astea
MadalinaMadutaa: Nu se poate face fara asta?
MadalinaMadutaa: ???
Alte întrebări interesante