题目描述
众所周知,牛妹非常喜欢吃蛋糕。
第一天牛妹吃掉蛋糕总数三分之一多一个,第二天又将剩下的蛋糕吃掉三分之一多一个,以后每天吃掉前一天剩下的三分之一多一个,到第n天准备吃的时候只剩下一个蛋糕。
牛妹想知道第一天开始吃的时候蛋糕一共有多少呢?
输入
输入n,0<n< 30。
输出
输出第一天蛋糕的数量。
样例输入
2
4
样例输出
3
10
代码实现
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()) {
//回溯法,动态规划填表
int n = sc.nextInt();
int a[] = new int[101];
//第一天一个蛋糕
a[1] = 1;
for(int i=2;i<a.length;i++) {
//下一天的蛋糕数填表
a[i] = ((a[i-1]+1)*3)/2;
}
//输出第n天的蛋糕数
System.out.println(a[n]);
}
}
}