public int count(int num){
List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(1);
if(num>=3){
list.add(list.get(num-2)+list.get(num-3));
return list.get(num-1);
}else{
return 1;
}
}
public int count2(int num){
return (2*num)+1;
}
public static void main(String[] args) {
Test1 test = new Test1();
System.out.println(test.count(1));;
System.out.println(test.count(2));;
System.out.println(test.count(3));;
System.out.println(test.count2(1));;
System.out.println(test.count2(2));;
System.out.println(test.count2(5));;
}
}
第一个是斐波那契,这个之所以使用数组是因为速度要优于使用递归,代码如下:
public static int sum(int n)
{
int[]list=new int[n];
list[0] = 1;
for (int i = 1; i <n; i++)
list[i] = i;
int result = 1;
for(int i=0;i<n;i++)
result+=list[i];
return result;
}
也可以把两个循环合并到一起。
第二个代码如下:
public static int sum(int n)
{
if (n == 1)
return 1;
return n + sum(n - 1);
}