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

โค้ด C++ หาจำนวนการอัปเกรด HP ให้ได้หมวดสูงสุด

สมมติว่าเรามีตัวเลข n ในเกม ตัวละครมี HP 4 หมวด:

  • หมวด A: HP = 4n + 1
  • หมวด B: HP = 4n + 3
  • หมวด C: HP = 4n + 2
  • หมวด D: HP = 4n

ลำดับจากสูงไปต่ำ: A > B > C > D อมลอยากเพิ่ม HP สูงสุด 2 (คือ 0, 1, หรือ 2) หาว่าควรเพิ่มเท่าไหร่เพื่อได้หมวดสูงสุด

เช่น ถ้าอินพุตคือ n = 98 เอาต์พุตจะเป็น 1 B เพราะ 98 อยู่หมวด C (4*24+2) เพิ่ม 1 ได้หมวด B เพิ่ม 2 ได้ 100 (4*25) หมวด D ดังนั้นสูงสุดคือ B

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

if n mod 4 == 2:
    return "1 B"
otherwise:
    return |(n mod 4) - 1| และ 'A'

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

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

void solve(int n) {
    if (n % 4 == 2)
        cout << "1 B";
    else
        cout << abs(n % 4 - 1) << " A";
}

int main() {
    int n = 98;
    solve(n);
}

อินพุต

98

เอาต์พุต

1 B