Computer >> Máy Tính >  >> Lập trình >> C ++

Mã C ++ để tìm kích thước màn hình với n pixel

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