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