题解 | 杨辉三角
杨辉三角
https://www.nowcoder.com/practice/e671c6a913d448318a49be87850adbcc?tpId=290&tqId=39928&ru=/exam/oj
import java.util.Scanner;
//线性dp
public class Main{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int[][] dp = new int[n + 1][n + 1];
dp[1][1] = 1;
for(int i = 2; i <= n; i++){
for(int j = 1; j <= i; j++){
//线性dp方程
dp[i][j] = dp[i - 1][j] + dp[i - 1][j - 1];
}
}
for(int i = 1; i <= n; i++){
for(int j = 1; j <= i; j++){
StringBuffer ret = new StringBuffer();
int len = Integer.toString(dp[i][j]).length();//求出该位置字符长度
for(int k = 0; k < 5 - len; k++){//位域宽为5,缺多少位补多少个空格
ret.append(" ");
}
System.out.print(ret.toString() + dp[i][j]);
}//换行
System.out.println();
}
}
}
