1.使用动态编程实现计算斐波那契数列
package practice;
public class Fibtest{
public static void main(String args[]){
System.out.println(Fib(8));
}
public static int Fib(int index){
int first = 0;
int second = 1;
int result = 1;
if(index==1)
return 0;
if(index==2)
return 1;
for(int i=index;i>2;i--){
first = second;
second = result;
result = first + second;
}
return result;
}
}
2.欧几里得算法求最大公约数
package practice;
public class GCDtest{
public static void main(String args[]){
System.out.println(GCD(23*89,89*17));
}
public static int GCD(int m,int n){
if(m%n==0)
return n;
else
return GCD(m,m%n);
}
}
该方法的时间复杂度是logn,比穷举速度更快。
3.寻找素数
未完待续