题解 | 杨辉三角

杨辉三角

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();
    }
    }

}

全部评论

相关推荐

04-14 20:10
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客企业服务