Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

Maximum of smallest possible area that can get with exactly k cut of given rectangular in C++


ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมหาค่าสูงสุดของพื้นที่เล็กที่สุดที่เป็นไปได้ด้วยการตัดครั้งที่ 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