查找使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