打印结果格式如下,注意,一定要个下面的格式一样,而且打印的行数可以由用户输入
                         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.   

    不用数组的化可以用递归求每个值,效率不是太好.用数组可以提高效率.
    如果用一维数组来存放三角阵可以比用二维数组节省一半的空间,但java中第二维的长度可以互不相同,所以用java的二维数组实现也同可以的。
      

  2.   

    http://topic.csdn.net/u/20081005/13/8494ddce-9de8-43e7-b5e4-5c0cd8a8f5dd.html
      

  3.   


    public class YangHuiTriangle {
        private int n;
           
        public YangHuiTriangle(int n) {
            this.n = n;
       
        }
        
    //这个打印程序可以是以金字塔形式打印杨辉三角形.数据位数可以7位,但实际屏幕放不下。可以打16行。
    //如果是在DOS窗口下打印,可以在窗口标题栏上,右键单击,选属性,把屏幕的宽度增大到200。这样可以看到20以上的杨辉三角形了。
    //思路是每一个数据的输出都占固定的长度,数据本身小于8,前面用空格补足,本方法中数据输出定为8    public void printYangHuiTriangle() {       
            System.out.println("杨辉三角(" + n + ")层:");
            String space="                                                                                                 ";
            System.out.println(space.substring(0,(n-1)*4+7)+1);
            long temp;
            for (int i = 1; i <= n - 1; i++) {
             System.out.print(space.substring(0,(n-i-1)*4));
                for (int j = 0; j <= i; j++) {
                 temp=value(i,j);
                    System.out.print(space.substring(0,8-(Long.toString(temp)).length())+temp);
                }
                System.out.println();
            }
        }
        //递归计算C(i,j) = 1 (k=0或者j=i);C(i,j) = C(i-1,j-1) + C(i-1,j)
        public long value(int i, int j) {
            if (( j == 0 ) || (j == i)) return 1;
            return value(i-1, j-1) + value(i-1, j);
        }
     
        public static void main(String[] args) {
            YangHuiTriangle y = new YangHuiTriangle(20);
            y.printYangHuiTriangle();
        }}
    //如果想打印行数比较多的杨辉三角形,可以改变dos窗口的宽。方法是右建单击dos标题栏,先属性,修改窗口的大小和屏幕缓冲区的大小就可以了.
    结果是:
    F:\java>javac YangHuiTriangle.javaF:\java>java  YangHuiTriangle
    杨辉三角(20)层:
                                                                                       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
                                               1      10      45     120     210     252     210     120      45      10       1
                                           1      11      55     165     330     462     462     330     165      55      11       1
                                       1      12      66     220     495     792     924     792     495     220      66      12       1
                                   1      13      78     286     715    1287    1716    1716    1287     715     286      78      13       1
                               1      14      91     364    1001    2002    3003    3432    3003    2002    1001     364      91      14       1
                           1      15     105     455    1365    3003    5005    6435    6435    5005    3003    1365     455     105      15       1
                       1      16     120     560    1820    4368    8008   11440   12870   11440    8008    4368    1820     560     120      16       1
                   1      17     136     680    2380    6188   12376   19448   24310   24310   19448   12376    6188    2380     680     136      17       1
               1      18     153     816    3060    8568   18564   31824   43758   48620   43758   31824   18564    8568    3060     816     153      18       1
           1      19     171     969    3876   11628   27132   50388   75582   92378   92378   75582   50388   27132   11628    3876     969     171      19       1