Giả sử chúng ta có một số n. Trong một màn hình sẽ có n pixel. Chúng ta phải tìm kích thước của màn hình hình chữ nhật. Quy tắc như dưới đây -
-
Số hàng (a) không vượt quá số cột (b) [a <=b]
-
sự khác biệt giữa b - a là tối thiểu nhất có thể
Vì vậy, nếu đầu vào là n =12, thì đầu ra sẽ là (3, 4)
Các bước
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
i := square root of n while n mod i is non-zero, do: (decrease i by 1) return (i, n / i)
Ví dụ
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
#include <bits/stdc++.h>
using namespace std;
void solve(int n){
int i = sqrt(n);
while (n % i)
i--;
cout << i << ", " << n / i;
}
int main(){
int n = 12;
solve(n);
} Đầu vào
12
Đầu ra
3, 4