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

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ă

Răspunsuri la întrebare

Răspuns de express
10
#include <bits/stdc++.h>
using namespace std;
int n, d, n1, n2, a, b, minn = INT_MAX;
int main()
{
    cin >> n;
    for(d = 1; d * d < n; d ++)
     if(n % d == 0)
     {
         n1 = d;
         n2 = n/d;
         if((n2 - n1) < minn) minn = n2 - n1, a = d, b = n/d;
     }
     if(d * d == n) a = b = d;
     cout << a << " " << b;
    return 0;
}

Alte întrebări interesante