斐波拉契数列
package org.xx.demo3;
public class TestFebonacci {
public static void main(String[] args) {
int result = febonacci(5);
System.out.println();
}
public static int febonacci(int n){
if (n==1|n==2) {
return 1;
}else{
return febonacci(n-1)+febonacci(n-2);
}
}
}
汉诺塔
package org.xx.demo3;
public class TestHanoi {
public static void main(String[] args){
hanoi(3, 'A', 'B', 'C');
}
public static void hanoi(int n,char from,char in,char to){
if (n==1) {
System.out.println("第1个圆环从"+from+"移动到"+to);
}else{
hanoi(n-1, from, to, in);
System.out.println("第"+n+"个圆环从"+from+"移动到"+to);
hanoi(n-1, in, from, to);
}
}
}
二分查找
package org.xx.demo1;
public class BinarySearch {
public static void main(String[] args) {
int[] arr = new int[]{1,2,3,4,5,6,7,8};
int begin = 0;
int end = arr.length-1;
int mid = (begin+end)/2;
int target = 4;
int index=-1;
while(true){
if (target<arr[begin]||target>arr[end]) {
break;
}
if (target==arr[mid]) {
index=mid;
break;
}else{
if (target<arr[mid]) {
end=mid-1;
}else{
begin=mid+1;
}
mid=(begin+end)/2;
}
}
System.out.println("结果索引值为:"+index);
}
}