杨辉三角的两种形式以及各种三角形状
(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();
}
}
}