zoukankan      html  css  js  c++  java
  • JAVA编程------------33、打印杨辉三角

     1 package FushiExam;
     2 import java.util.*;
     3 public class Text_33 {
     4 
     5     public static void main(String[] args) {
     6         // 打印杨辉三角
     7         /*
     8          *          1
     9          *        1   1
    10          *      1   2   1
    11          * 1    3   3   1
    12          1    4   6   4   1
    13        1   5   10   10   5  1
    14        杨辉三角如图所示:
    15        
    16        分析:
    17        在数组中设置一个n*n的矩阵,不考虑格式,如图:
    18        1
    19        1  1
    20        1  2  1
    21        1  3  3  1
    22        1  4  6  4  1
    23        1  5  10 10 5  1
    24          * 
    25          */
    26         Scanner scan=new Scanner(System.in);
    27         System.out.println("打印杨辉三角的前多少行:");
    28         int n=scan.nextInt();
    29         int[][] arr=new int[n][n];//用一个n*n的二维矩阵来存储杨辉三角数据
    30         for(int i=0;i<n;i++) {
    31             for(int j=0;j<n;j++) {//设置每一行数据为‘1’的位置
    32                 arr[i][0]=1;
    33                 arr[i][i]=1;
    34             }
    35         }
    36         /*
    37          * 接下来设置除了‘1’的位置
    38          */
    39         for(int i=0;i<n;i++) {
    40             for(int j=0;j<=i;j++) {
    41                 if(arr[i][j]==0)
    42                     arr[i][j]=arr[i-1][j-1]+arr[i-1][j];
    43             }
    44         }
    45         /*
    46          * 输出为:
    47          * 1
    48          * 11
    49          * 121
    50          * 1331
    51          * 14641
    52          * 15101051
    53          * 
    54          * 接下来设置输出格式
    55          */
    56         for(int i=0;i<n;i++) {
    57             for(int k=0;k<n-1-i;k++) {//输出空格
    58             System.out.print("  ");}//输出每一行开始的空格
    59             for(int j=0;j<=i;j++) {
    60                 System.out.print(arr[i][j]+"  ");//打印每一个数据
    61             }
    62             System.out.println();
    63         }
    64         
    65         /*for(int i=1;i<n;i++) {//第一层循环,行数
    66             for(int j=0;j<n-i;j++) {//第二层循环,用来打印每一行的空格
    67                 
    68             }
    69             
    70         }
    71 */
    72     }
    73 
    74 }
  • 相关阅读:
    HAVING 和 WHERE 的使用
    Input and Output
    python数据分析知识点
    正则化
    ol 接入百度地图
    高德室内地图解析
    mapbox 接入高德矢量地图实战
    4、微信小程序和weui
    3、YishaAdmin开源框架搭建
    2、微信小程序开发注册、配置介绍说明
  • 原文地址:https://www.cnblogs.com/fmust/p/12515874.html
Copyright © 2011-2022 走看看