在本教程中,我们将讨论一个程序以找到最大的产品切割量| DP-36。
为此,我们将获得N米的绳索。我们的任务是将绳索切成不同的整数长度,以使它们的长度乘积最大。
#include <iostream> using namespace std; //查找最多两个,三个整数 int max(int a, int b) { return (a > b)? a : b; } int max(int a, int b, int c) { return max(a, max(b, c)); } //返回最大产品 int maxProd(int n) { if (n == 0 || n == 1) return 0; int max_val = 0; for (int i = 1; i < n; i++) max_val = max(max_val, i*(n-i), maxProd(n-i)*i); return max_val; } int main() { cout << "Maximum Product is " << maxProd(10); return 0; }
输出结果
Maximum Product is 36