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

C++에서 주어진 직사각형의 정확히 k 컷으로 얻을 수 있는 가장 작은 가능한 영역의 최대값

<시간/>

이 튜토리얼에서는 주어진 직사각형의 정확히 k 컷으로 얻을 수 있는 가장 작은 가능한 영역의 최대를 찾는 프로그램에 대해 논의할 것입니다.

이를 위해 직사각형의 측면과 만들 수 있는 절단 수가 제공됩니다. 우리의 임무는 주어진 횟수만큼 잘라서 얻을 수 있는 가장 작은 면적을 계산하는 것입니다.

예시

#include <bits/stdc++.h>
using namespace std;
void max_area(int n, int m, int k) {
   if (k > (n + m - 2))
      cout << "Not possible" << endl;
   else {
      int result;
      if (k < max(m, n) - 1) {
         result = max(m * (n / (k + 1)), n * (m / (k + 1)));
      }
      else {
         result = max(m / (k - n + 2), n / (k - m + 2));
      }
      cout << result << endl;
   }
}
int main() {
   int n = 3, m = 4, k = 1;
   max_area(n, m, k);
   return 0;
}

출력

6