您的位置:首页 > 编程语言 > Java开发

Java语言程序设计-进阶篇(五)算法基础

2018-02-07 13:00 489 查看


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.寻找素数

未完待续
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: