1.有一对兔子,从出生后第三个月起每个月都生一对兔子,小兔子长到第三个月后又生一对兔子,假如兔子都不死,每个月兔子对数为多少?
package recursion;
import java.util.Scanner;
/**
*
* @author naughtymonkey
*
*/
public class FibonacciDemo {
public static void main(String[] args) {
System.out.println("输入几月后");
Scanner scan=new Scanner(System.in);
int month=scan.nextInt();
int rabbit=Fibonacci(month);
System.out.println(rabbit);
}
/**
*
* @param month 第几个月
* @return 返回第n个月的值
*/
private static int Fibonacci(int month) {
if(month<3){
return 1;
}else{
return Fibonacci(month-1)+Fibonacci(month-2);
}
}
}
2:定义一个数组,比如:int[] arr = {13,24,57,69,80}使用二分查找查找这个数组中的24元素对应的索引
package sort;
import java.util.Scanner;
public class BinarySearch {
public static void main(String[] args) {
int[] arr={13,24,57,69,80};
int num=new Scanner(System.in).nextInt();
int index=binarySearch(arr,num);
System.out.println(index);
}
private static int binarySearch(int[] arr,int num) {
int max=arr.length-1;
int min=0;
int mid=0;
while(min<=max){
mid=(max+min)/2;
if(arr[mid]==num){
return mid;
}else if(arr[mid]<num){
min=mid+1;
}else if(arr[mid]>num){
max=mid-1;
}else{
return mid;
}
}
return mid;
}
}