你现在需要做一个很简单的RPG游戏来打倒魔王。魔王的HP是h。这个游戏是回合制,1回合如下进行:
你攻击魔王,魔王的HP-a。
如果魔王的HP在0以下,就可以打倒魔王。
魔王会使用回复魔法,HP+b。
可以打倒魔王吗?如果可以的话,请写出需要几回合才可以打倒魔王的程序。
输出规则:
YES/NO
[n]
第一行,如果打倒了魔王,输出为YES,没打倒输出为NO。
如果可以打倒魔王,第二行输出为打倒魔王所需要的回数。
输出例1:
标准输出:10 5 2
标准输出:YES 3
游戏如下进行:
第一回合,魔王的HP因为攻击变成5。这之后,魔王的HP回复为7。
第二回合,魔王的HP因为攻击变成2。这之后,魔王的HP回复为4。
第三回合,魔王的HP因为攻击变成-1。魔王被打倒。
输出例2:
标准输入:10 5 1000000
标准输出:NO
魔王的回复力很高,无法打倒魔王。
package track;
import java.util.Scanner;
import java.util.ArrayList;
public class App {
public static void main(String[] args) {
String[] lines = getStdin();
for (int i = 0, l = lines.length; i < l; i++) {
String output = String.format("line[%s]: %s", i, lines[i]);
System.out.println(output);
}
}
private static String[] getStdin() {
Scanner scanner = new Scanner(System.in);
ArrayList<String> lines = new ArrayList<>();
while (scanner.hasNext()) {
lines.add(scanner.nextLine());
}
return lines.toArray(new String[lines.size()]);
}
}
给个例子参考:
public static void main(String[] args) throws Exception {
Scanner scan = new Scanner(System.in);
String line = scan.nextLine();
String[] ls = line.split(" ");
int h = Integer.parseInt(ls[0]);
int a = Integer.parseInt(ls[1]);
int b = Integer.parseInt(ls[2]);
if (a < h && a < b) {
System.out.println("NO");
System.out.println("魔王的回复力很高,无法打倒魔王。");
} else if (a >= h) {
System.out.println("YES 1");
} else {
int i = 0;
while (h > 0) {
i++;
h = h - a;
if(h<0)
break;
h = h + b;
}
System.out.println("YES " + i);
}
scan.close();
}
public static void main(String[] args) {
int[] lines = getStdin();
System.out.println(lines[1] > lines[2] ? "Yes\r\n" + ((int) Math.ceil(lines[0] / (lines[1] - lines[2]))) : "No");
}
private static int[] getStdin() {
Scanner scanner = new Scanner(System.in);
return new int[]{scanner.nextInt(), scanner.nextInt(), scanner.nextInt()};
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int i=0;//回合数
int mwhp=20;//魔王hp
int gjl=5,hf=1;//攻击力,回复值
if (gjl > hf) {
while (mwhp > 0) {
mwhp -= gjl;//攻击魔王
mwhp += hf;//魔王回血
System.out.println("魔王是否死亡: NO");
i++;
}
System.out.println("魔王是否死亡:yes; 回合数:" + i);
}else{
System.out.println("魔王恢复很高,无法击败");
}
}