在 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
广告