本帖最后由 张会文 于 2013-1-2 17:52 编辑
- package excrise;
- public class resultlove {
- public static void main(String[] args) {
- int row = 10;
- int colunm = row * 2;
- int half_colunm = colunm / 2;
- int [][]array = new int [row][colunm];
- int index = 0;
- for(int i = 0; i < row; i++){
- //左边三角形
- for(int j = 0; j < half_colunm - i - 1; j++){
- array[i][j] = 0;
- index++;
- }
- //为单独的1赋值
- array[i][index++] = 1;
- //从第2行起,规律为里边的任意一个数等于上一行的左上+右上
- if(i != 0){
- //内部三角形
- for(int k = 0; k < i * 2; k++){
- if(k % 2 == 0){
- array[i][index] = 0;
- }else{
- array[i][index] = array[i - 1][index - 1] + array[i - 1][index + 1];
- }
-
- index++;
-
- }
-
- //计算剩余的行
-
- int lastColunm = row - index;
-
- for(int j = 0; j < lastColunm; j++){
-
- array[i][index] = 0;
- index++;
-
- }
-
- }
-
- //每一行重置指针index
- index = 0;
- }
-
- //格式输出
-
- for(int i = 0; i < row; i++){
-
- for(int j = 0; j < colunm; j++){
-
- if(array[i][j] == 0){
-
- System.out.printf("%-3s","");
- }else{
-
- System.out.printf("%-3s",array[i][j]);
- }
-
- }
-
- System.out.println();
- }
- }
- }
复制代码- 1
- 1 1
- 1 2 1
- 1 3 3 1
- 1 4 6 4 1
- 1 5 10 10 5 1
- 1 6 15 20 15 6 1
- 1 7 21 35 35 21 7 1
- 1 8 28 56 70 56 28 8 1
- 1 9 36 84 126 126 84 36 9 1
复制代码 你写的太乱了,你参考一下这个:
|