博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 之 杨辉三角形
阅读量:4983 次
发布时间:2019-06-12

本文共 1701 字,大约阅读时间需要 5 分钟。

题目:打印杨辉三角形。

1.程序分析:  

    1        

    1 1      

   1 2 1     

  1 3 3 1    

 1 4 6 4 1 

1 5 10 10 5 1

特点:

 杨辉三角以正整数构成,数字左右对称,每行由1开始逐渐变大,然后变小,回到1。

 n行的数字个数为n个。

 n行数字和为2n − 1

 除每行最左侧与最右侧的数字以外,每个数字等于它的左上方与右上方两个数字之和。

 

编程实现:

 import java.util.*;

public class YangHui{

  public static void main(String args []){

    System.out.print("Plz input the rows of YangHui:");

    int row; //打印行数

    Scanner scanner = new Scanner(System.in);

    row = scanner.nextInt();

    int col = 2*row-1;

    int array[][] = new int[row][col];

 

    for(int i=0; i<row; i++){

      for(int j=0; j<col; j++){

        int mid = col/2;

        if(i==0 && j==mid){

          array[i][j] = 1; //三角形顶端的1

        }else if(i==0){

          array[i][j] = 0; //用0做空格打印标记

        }else if(i==row-1 && j==0){

          array[i][j] = 1; //左侧1

        }else if(i==row-1 && j==col-1){

          array[i][j] = 1;  //右侧1

        }else if(i>0 && j>0 && j<col-1){

          array[i][j] = array[i-1][j-1]+array[i-1][j+1]; //内部数的变化

        }

      }

    }

    for(int i=0; i<row; i++){

      for(int j=0; j<col; j++){

        if(array[i][j]==0){

          System.out.print(); //被标记为0,则输出空格

        }else{

          System.out.print(array[i][j]);

        }

      }

      System.out.println();

    }

  }

}

 

(左侧型):

public class YangHui{

  public static void main(String args []){

    int array[][] = new int[10][10]; //10行10列

    

    for(int i=0; i<array.length; i++){

      for(int j=0; j<=i; j++){

        if(j==0 || i==j){

          array[i][j] = 1;

        }else{

          array[i][j] = array[i-1][j-1]+array[i-1][j];

        }

        System.out.print(array[i][j]+"\t");

      }

      System.out.println("");

    }

  }

}

 

转载于:https://www.cnblogs.com/shuigee/archive/2012/01/26/2329817.html

你可能感兴趣的文章
机房收费调试问题(一)
查看>>
Perl多进程处理Web日志
查看>>
Oracle中MD5+Base64加密实现
查看>>
linux 编辑文档
查看>>
Java中ArrayList类的用法(转)
查看>>
作业5 指针应用1。
查看>>
关于JAVA项目中的常用的异常处理情况总结
查看>>
字段类型的选择原则
查看>>
StructLayoutLayout 属性无法通过GetCustomAttributes 或者 Attributes获得
查看>>
如何一键收藏微信文章?
查看>>
二维码图片以字符串的形式保存DB,已文件流显示页面上
查看>>
install
查看>>
好久没有写东西了发一个1年前写的东西
查看>>
Struts2、Spring、Hibernate 高效开发的最佳实践(转载)
查看>>
使用cmd查看电脑连接过的wifi密码并将密码发送至指定邮箱(三)
查看>>
u3d 场景资源打包
查看>>
123
查看>>
hdu 1874
查看>>
最优比例生成树最优比率生成树 01分数规划问题
查看>>
ARM函数调用过程分析
查看>>