java 编程逻辑题

来源:百度知道 编辑:UC知道 时间:2024/05/30 19:25:18
已知a(1)=1,a(2)=2,a(3)=6,.......a(n)=a(n-3)+a(n-2)+a(n-1) (n大于3);用Java编程求出a(12)和a(14)项。

请各位大虾给在下做一下啊~~~
小弟在此谢谢了啊~~~~

public class T {
public static void main(String[] args) {
int a = methodA(12);
System.out.println("第12项是 :"+a);
int b = methodA(17);
System.out.println("第17项是 :"+b);
}

public static int methodA(int n) {
if (n == 1) {
return 1;
} else if (n == 2) {
return 2;
} else if (n == 3) {
return 6;
}
return methodA(n-1)+methodA(n-2)+methodA(n-3);
}

}
结果是:
第12项是 :1225
第17项是 :25785

List list=new ArrayList();
list.add(1);
list.add(2);
list.add(6);
for(int i=3;i<100;i++){
int num=Integer.parseInt(list.get(i-3).toString())+Integer.parseInt(list.get(i-2).toString())
+Integer.parseInt(list.get(i-1).toString());
list.add(num);
}
System.out.println(list.get(3));
System.out.println(list.get(9));
System.out.println(list.get(13));