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

โปรแกรม C++ หาเงินออมสูงสุดจากการจัดตัวเลขและเครื่องหมายบวก


คำอธิบายปัญหา

สมมติว่าเรามีตัวเลข 3 ตัวคือ A, B และ C พิจารณาเกม: มีแผ่นตัวเลข 3 แผ่น แต่ละแผ่นมีเลข 1 ถึง 9 และแผ่นเครื่องหมาย 1 แผ่นมีเครื่องหมาย '+' ผู้เล่นต้องจัดเรียงแผ่นทั้ง 4 ให้เป็นสูตร X+Y จากซ้ายไปขวา เงินออมจะเท่ากับค่าของสูตรนั้น ต้องการหาเงินออมสูงสุดที่เป็นไปได้

ตัวอย่าง: A = 1; B = 5; C = 2 ผลลัพธ์คือ 53 เพราะจัดเป็น 52+1 ซึ่งให้ค่าสูงสุด

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

กำหนดอาร์เรย์ V ด้วย A, B, C
เรียงลำดับ V
ans := (V[2] * 10) + V[1] + V[0]
คืนค่า ans

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

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

int solve(int A, int B, int C){
    vector<int> V = { A, B, C };
    sort(V.begin(), V.end());
    int ans = (V[2] * 10) + V[1] + V[0];
    return ans;
}

int main(){
    int A = 1;
    int B = 5;
    int C = 2;
    cout << solve(A, B, C) << endl;
}

อินพุต

1, 5, 2

เอาต์พุต

53