java实现杨辉三角,输出对齐
来源:互联网 发布:java线程面试题 编辑:程序博客网 时间:2024/06/05 07:40
闲来无事,发现2010年面试自己写的程序,贴出来留作记忆
这两天,看到身边的两个室友失败而归,问问得知,公司出了一个杨辉三角的上机题,一个半小时,可以上网查。都失败了!其实算法不难,就是不会,也可以上网查一下,最关键的是要对齐,输出的每个数都要整整齐齐,这个网上可搜不到,呵呵,网上有算法,可都没有对齐的。我用了三个小时整理了一份,呵呵,可能以后你也会碰到哦,看看吧。
public class YangHui { public static void main(String[] args) { YangHui.printYH(20); } public static void printYH(int row){ String num_max = ""; String value = ""; int[][] a = new int[row][row]; //声明一个二维数组,存储杨辉三角 for(int i=0;i<row;i++){ if(i==0){ //三角顶点时数字1 a[0][0] = 1; } else{ //三角两边也是数字1 a[i][0] = 1; a[i][i] = 1; } } for(int i=1;i<row;i++){ //去除两边,杨辉三角,就是下面的数是自己上面两个数的和,自己最好画个图 for(int j=1;j<i;j++){ a[i][j] = a[i-1][j-1]+a[i-1][j]; } } num_max = String.valueOf(a[row-1][row/2]); for(int m=0;m<num_max.length();m++) value += " "; //根据最大数字的长度计算,空格的单位 for(int i=0;i<row;i++){ for(int n=0;n<=row-i;n++) //打印数据距左边的距离 System.out.print(value+" "); for(int j=0;j<=i;j++){ String min=""; //当数字长度大于1,重新计算空格数目 int num_len = String.valueOf(a[i][j]).length(); //得到输出的数字长度 if(num_len>1){ //当数字长度大于1位时,输出空格数要减去自身的长度,这样才能对其 for(int v=0;v<=(num_max.length()-num_len);v++){ min += " "; } System.out.print(a[i][j]+value+min+" "); } else{ //数字位数为1位时输出 System.out.print(a[i][j]+value+value+" "); } } System.out.println(); //换行 } }}
3 0
- java实现杨辉三角,输出对齐
- 打印杨辉三角并对齐输出
- JAVA实现输出杨辉三角
- java实现递归输出杨辉三角
- 使用java实现杨辉三角的输出
- Java实现杨辉三角
- java实现杨辉三角
- 杨辉三角java实现
- Java实现杨辉三角
- 杨辉三角java实现
- Java实现杨辉三角
- java实现杨辉三角
- java实现杨辉三角
- Java实现杨辉三角
- Java实现杨辉三角
- java实现杨辉三角
- 输出杨辉三角
- 杨辉三角输出
- Math.floor,Math.ceil,Math.rint,Math.round用法详解
- border-radius
- 浅析C++中的初始化列表(区别赋值和初始化)
- HDU 2527 Safe Or Unsafe(哈夫曼编码)
- 项目框架设计
- java实现杨辉三角,输出对齐
- 转录组小知识点收集
- leetcode20
- 在diy的文件系统上创建文件的流程
- 求两个链表的并集
- gradle 学习资料汇总
- 拓展欧几里德
- leetcode21
- Star Schema完全参考手册读书笔记五