题目描述
有一个细胞,每一个小时分裂一次,一次分裂出一个新细胞,第三个小时分裂后会自然死亡。那么M(M<=20)个小时后有多少细胞?
输入
输入的第一行包含一个正整数N,表示有N组测试数据;
接着是N行数据,每行包含一个正整数M,表示M小时。
输出
输出对应M小时后的细胞数量,每组数据的输出占一行。
样例输入
3
3
4
5
样例输出
7
13
24
import java.util.Scanner;
public class Cell {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int numb = sc.nextInt();
for (int i = 0; i <numb; i++) {
int M = sc.nextInt();
int a=1,b=2,c=4,result = 1;
if (M<3){
for (int j=1; j <= M; j++) {
result = result*2;
}
System.out.println(result);
}else {
for (int k=3; k <= M; k++) {
result = a+b+c;
a = b;
b = c;
c = result;
}
System.out.println(result);
}
}
}
}
不足之处请指正(滑稽脸)