查詢使HP大於當前值的升級次數的C++程式碼
假設我們有一個數字n。在一個遊戲中,每個角色有四種不同的生命值(HP)。類別如下:
類別A:如果HP的形式為(4n + 1)
類別B:如果HP的形式為(4n + 3)
類別C:如果HP的形式為(4n + 2)
類別D:如果HP的形式為4n
這4個類別從高到低排序為A > B > C > D。因此,類別A最高,類別D最低。在玩遊戲時,玩家可以增加角色的HP。現在,Amal希望你最多增加他的HP 2(即,增加0、1或2)。我們必須找到他應該增加多少HP才能獲得最高可能的類別?
因此,如果輸入類似n = 98,則輸出將為1 B,因為98屬於C類(4*24 + 2),將其增加1,它將升級到B類,但如果我們將其增加到2,它將變為100(4*25),屬於D類。因此,最多可以達到B類。
步驟
為了解決這個問題,我們將遵循以下步驟:
if n mod 4 is same as 2, then: return "1 B" Otherwise return |(n mod 4) - 1| and '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
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP