杨辉三角:
public class TestArray12 {
public static void main(String[] args) {
int [][] arr = new int[7][];
//初始化
for(int i = 0; i < arr.length; i++) {
arr[i] = new int[i + 1];
}
//
for(int i = 0 ; i < arr.length; i++) {
for(int j = 0; j < arr[i].length; j++) {
if(i == 0 || j == 0 || i == j) {
arr[i][j] = 1;//两条边 是1
}else {
//上一行 前两个数
arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
}
// System.out.print(arr[i][j] + "\t");
}
// System.out.println();
}
for(int[] ar : arr) {
for(int a : ar) {
System.out.print(a + "\t");
}
System.out.println();
}
}
}
二分查找法:
ackage day8_2;
import java.util.Scanner;
public class Demo04 {
public static void main(String[] args) {
int [] arr = new int [] {3,4,5,1,7,9,8};
int temp;
//先遍历
for(int i=0;i<arr.length-1;i++) {
for(int j=0;j<arr.length-1-i;j++) {
if(arr[j]>arr[j+1]) {
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
//后查找
int start =0;
int end = arr.length-1;
int middle = (start+end)/2;
for(int n:arr) {
System.out.println(n);
}
Scanner input = new Scanner(System.in);
System.out.println("输入您查找的数:");
int num = input.nextInt();
while(num!=arr[middle]){
if(num>arr[middle]) {
start = middle+1;
}else if(num<arr[middle]) {
end = middle-1;
}
if(start>end) {
middle=-1;
System.out.println("不存在");
break;
}
middle = (start+end)/2;
}
System.out.println(middle);
input.close();
}
}