Trong hướng dẫn này, chúng ta sẽ thảo luận về một chương trình để tìm kiếm Cắt sản phẩm tối đa | DP-36.
Để làm được điều này, chúng tôi sẽ được cung cấp một sợi dây dài N mét. Nhiệm vụ của chúng ta là cắt sợi dây theo các độ dài số nguyên khác nhau sao cho tích của độ dài của chúng là lớn nhất
Ví dụ
#include <iostream> using namespace std; //finding maximum of two, three integers 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)); } //returning maximum product 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; }
Đầu ra
Maximum Product is 36