Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

n 픽셀로 화면 크기를 찾는 C++ 코드

<시간/>

숫자 n이 있다고 가정합니다. 디스플레이에는 n개의 픽셀이 있습니다. 직사각형 디스플레이의 크기를 찾아야 합니다. 규칙은 아래와 같습니다 -

  • 행 수(a)가 열 수(b)를 초과하지 않음 [a <=b]

  • b의 차이 - 가능한 한 최소입니다.

따라서 입력이 n =12와 같으면 출력은 (3, 4)

가 됩니다.

단계

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

i := square root of n
while n mod i is non-zero, do:
   (decrease i by 1)
return (i, n / i)

예시

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

#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);
}

입력

12

출력

3, 4