在 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

更新于:09-Sep-2020

92 浏览

开启你的 职业生涯

完成课程以获得认证

开始
广告