Array6
/*----------二維數組 ------------
高維數組
元素是數組的數組
*/
/* 3x+7y+9z = 27
* 4x+6y+3z = 78
* */
// int[][] arr = new int[2][4];//元素是一維數組 有兩個這樣的元素
// int[][] arr2 = {{101,2},{3,4,5}};
//
// //二維數組的遍歷訪問
// //區元素 arr[i] 元素是一維數組
// for(int i=0;i<arr2.length;i++){
// //遍歷 arr[i] 這個數組
// for(int j =0;j<arr2[i].length;j++){
// System.out.print(arr2[i][j]+" ");
// }
// System.out.println();
// }
/*---練習; 打印n行的楊輝三角
* (a+b)^n
* ----
* 1 0 0 0 0
* 1 1 0 0 0 arr[i][j] = arr[i-1][j]+arr[i-1][j-1]
* 1 2 1 0 0
* 1 3 3 1 0
* 0 0 0 0 0
*
*
* */
// int n = 40;
// int[][] arr= new int[n][n];
// arr[0][0] = 1;
// arr[1][0] = 1;
// arr[1][1] = 1;
//
// //控制行數 第二行開始
// for(int i=1;i<n;i++){
// arr[i][0] = 1;//第一列恆爲1
// //控制列數 第二個開始 總共當前行數個-1
// for (int j = 1; j <i+1; j++) {
// arr[i][j] = arr[i-1][j]+arr[i-1][j-1];
// }
// }
//
// //輸出
// for (int i = 0; i < n; i++) {
// for (int j = 0; j < i+1; j++) {
// System.out.print(arr[i][j]+" ");
// }
// System.out.println();
// }
/*---補充 不用數組實現 楊輝三角-----*/
// n行 1 1*(n-1)/1 1*(n-1)/1*(n-2)/2 1*(n-1)* (n-2)/2 * (n-3)/3
//
// 1*(n-1)*(n-2)*(n-3) ...*(n-j) (n-(j+1))
// ------------------------------- * -----
// 1*2*3*4...*j (j+1)
// n行 的第j個 (j從0開始) num[j] = 前面一個*(n-j)/j
/* 1 0 0 0 0
* 1 1 0 0 0
* 1 2 1 0 0
* 1 3 3 1 0
* 1 4 6 4 1
* 1 5 10 10 5 1
*/
int n = 6;
for (int i = 1; i <=n; i++) {
int start=1;
System.out.print(1+" ");
for(int j=1;j<i;j++){
start *= (double)(i-j)/j;
System.out.print(start +" ");
}
System.out.println();
}
}
}
高維數組
元素是數組的數組
*/
/* 3x+7y+9z = 27
* 4x+6y+3z = 78
* */
// int[][] arr = new int[2][4];//元素是一維數組 有兩個這樣的元素
// int[][] arr2 = {{101,2},{3,4,5}};
//
// //二維數組的遍歷訪問
// //區元素 arr[i] 元素是一維數組
// for(int i=0;i<arr2.length;i++){
// //遍歷 arr[i] 這個數組
// for(int j =0;j<arr2[i].length;j++){
// System.out.print(arr2[i][j]+" ");
// }
// System.out.println();
// }
/*---練習; 打印n行的楊輝三角
* (a+b)^n
* ----
* 1 0 0 0 0
* 1 1 0 0 0 arr[i][j] = arr[i-1][j]+arr[i-1][j-1]
* 1 2 1 0 0
* 1 3 3 1 0
* 0 0 0 0 0
*
*
* */
// int n = 40;
// int[][] arr= new int[n][n];
// arr[0][0] = 1;
// arr[1][0] = 1;
// arr[1][1] = 1;
//
// //控制行數 第二行開始
// for(int i=1;i<n;i++){
// arr[i][0] = 1;//第一列恆爲1
// //控制列數 第二個開始 總共當前行數個-1
// for (int j = 1; j <i+1; j++) {
// arr[i][j] = arr[i-1][j]+arr[i-1][j-1];
// }
// }
//
// //輸出
// for (int i = 0; i < n; i++) {
// for (int j = 0; j < i+1; j++) {
// System.out.print(arr[i][j]+" ");
// }
// System.out.println();
// }
/*---補充 不用數組實現 楊輝三角-----*/
// n行 1 1*(n-1)/1 1*(n-1)/1*(n-2)/2 1*(n-1)* (n-2)/2 * (n-3)/3
//
// 1*(n-1)*(n-2)*(n-3) ...*(n-j) (n-(j+1))
// ------------------------------- * -----
// 1*2*3*4...*j (j+1)
// n行 的第j個 (j從0開始) num[j] = 前面一個*(n-j)/j
/* 1 0 0 0 0
* 1 1 0 0 0
* 1 2 1 0 0
* 1 3 3 1 0
* 1 4 6 4 1
* 1 5 10 10 5 1
*/
int n = 6;
for (int i = 1; i <=n; i++) {
int start=1;
System.out.print(1+" ");
for(int j=1;j<i;j++){
start *= (double)(i-j)/j;
System.out.print(start +" ");
}
System.out.println();
}
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.