某游戏中可以对人物的武器进行升级,已知
从0级升级至1级需要1个宝石,成功率是100%
从1级升级至2级需要2个宝石,成功率是50%
以后每次升级都需要前个等级的宝石数2倍,成功率是前个等级的一半,
升级失败宝石不归还,同时装备也不会损失等级。
请利用递归方式,编程计算武器从0级升级至5级所需的宝石期望数 (14分)
注意:本题目利用非递归方式作答不会得分
public class Main {
public static double shengji(int n){
if(n==1){
return 1;
}
return shengji(n-1) + Math.pow(2,n-1)/Math.pow(2,1-n);
}
public static void main(String[] args) {
System.out.println(shengji(5));
}
}