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

โค้ด C++ หาของตกแต่งสูงสุดทำให้สวยงาม

สมมติว่าเรามีตัวเลขสามจำนวน y, b และ r มีของตกแต่งสีเหลือง y ชิ้น สีน้ำเงิน b ชิ้น สีแดง r ชิ้น การตกแต่งจะสวยถ้า จำนวนสีน้ำเงินมากกว่าสีเหลือง 1 ชิ้นพอดี และสีแดงมากกว่าสีน้ำเงิน 1 ชิ้นพอดี ต้องการเลือกของตกแต่งมากที่สุดและทำให้สวย หาจำนวนของตกแต่งสูงสุด

เช่น ถ้าอินพุตคือ y = 8; b = 13; r = 9 เอาต์พุตจะเป็น 24 เพราะ 7 + 8 + 9 = 24

ขั้นตอนการแก้ปัญหา

return 3 * (min(y, b - 1, r - 2))

ตัวอย่างโค้ด

#include <bits/stdc++.h>
using namespace std;

int solve(int y, int b, int r) {
    return 3 * min(y, min(b - 1, r - 2)) + 3;
}

int main() {
    int y = 8;
    int b = 13;
    int r = 9;
    cout << solve(y, b, r) << endl;
}

อินพุต

8, 13, 9

เอาต์พุต

24