杨辉三角

杨辉三角的两种形式以及各种三角形状

(1)打印出杨辉三角形

(1)输入指定的行数和列数打印出杨辉三角形
输入m(行数)n (列数)

public static void main(String[] args) {
  Scanner sc=new Scanner(System.in);
  
  //输入
  int m=sc.nextInt();
  int n=sc.nextInt();
  
  //用输入的行和列定义数组
  int [][] arr=new int [m+1][m+2];
  
  //初始化左右两边的值都为1
  for (int i = 0; i <m; i++) {
   for (int j = 0; j <=i; j++) {
    if(j==0||j==i){
     arr[i][j]=1;
    }else{
     continue;
    }
   }
  }
  
  //初始化中间的值,因为前两行都为1 所以从第三行开始计算中间的值
  for (int i = 2; i <m; i++) {
   for (int j = 1; j <i; j++) {
    arr[i][j]=arr[i-1][j-1]+arr[i-1][j];
   }
  }
  //输出杨辉三角形
  for (int i = 0; i <m; i++) {
   for (int j = 0; j <=n-i; j++) {
    System.out.print(" ");
   }
   for (int j = 0; j <=i; j++) {
    System.out.print(arr[i][j]+" ");
   }
   System.out.println();
  }
 }
}

在这里插入图片描述

(2)根据行数和列数打印出那个所在位置的数字

public static void main(String[] args) {    
  Scanner sc=new Scanner(System.in);
  //输入行和列
  int m=sc.nextInt();
  int n=sc.nextInt();
  
  //定义数组
  int [][] h=new int [m+1][m+2];
  
  //杨辉三角
  for (int i = 0; i < h.length; i++) {//行
   for (int j = 0; j <=i; j++) {//列
    //判断
    if(j==0||j==i){
     h[i][j]=1;
    }else if(i>=2){
     h[i][j]=h[i-1][j-1]+h[i-1][j];
    }
   }
  }
  System.out.println(h[m][n]);
  }
}

在这里插入图片描述

打印出各种形状三角形

//正三角
public static void main(String[] args) {
  for (int j = 1; j < 5; j++) {
   for (int i = 0; i <(5-j); i++) {
    System.out.print(" "); 
   }
   for (int k = 0; k <(2*j-1); k++) {
    System.out.print("*");
   }
   System.out.println();
  }
  System.out.println("_____________________________________");
  
  //斜三角
  for (int hang = 0; hang <5; hang++) {
   for (int lie = 1; lie <=5-hang; lie++) {
    System.out.print("*");
   }
   System.out.println();
  }
 }
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值