如下图是一个 直角 杨辉三角形
一.核心
1.递归
public static int f(int row,int col){
if(col == 0 || row == col) return 1;
return f(row-1,col-1)+f(row-1,col);
}
2.for循环
int a[][] = new int[5][5];
for(int row = 0;row<5;row++){
for(int col=0;col<row;col++){
if(col==0 || row ==col){
a[row][col] = 1;
}else{
a[row][col] = a[row-1][col-1]+a[row-1][col];
}
}
}
二.代码如下
1.递归
package com.csdn;
//Java语言实现杨辉三角形
public class YangHuiDemo {
//递归算法
public static int f(int row,int col){
if(col == 0 || row == col) return 1;
return f(row-1,col-1)+f(row-1,col);
}
//打印
public static void main(String[] args){
for(int row=0;row<5;row++){
for(int col=0;col<row;col++){
System.out.print(f(row,col)+"\t");
}
System.out.println();
}
}
}
2.for循环
package com.csdn;
//Java语言实现杨辉三角形
public class YangHuiDemo {
//使用for循环
public static void main(String[] args){
int a[][] = new int[5][5];
for(int row = 0;row<5;row++){
for(int col=0;col<row;col++){
if(col==0 || row ==col){
a[row][col] = 1;
}else{
a[row][col] = a[row-1][col-1]+a[row-1][col];
}
}
}
//打印
for(int row=0;row<5;row++){
for(int col=0;col<row;col++){
System.out.print(a[row][col]+"\t");
}
System.out.println();
}
}
}