背景:

杨辉三角,是二项式系数在三角形中的一种几何排列。在欧洲,这个表叫做帕斯卡三角形。帕斯卡(1623----1662)是在1654年发现这一规律的,比杨辉要迟393年,比贾宪迟600年。杨辉三角是中国古代数学的杰出研究成果之一,它把二项式系数图形化,把组合数内在的一些代数性质直观地从图形中体现出来,是一种离散型的数与形的结合   。

代码实现过程:

 1.首先定义变量行数 int len = 10;
 2.初始化二维数组存放数据int [][] arr = new int[len][];for (int i = 0; i < len; i++) {arr[i] = new int[i+1];}
 3.将数据存储到数组for (int i = 0; i < len; i++) {for (int j = 0; j < arr[i].length; j++) {if(j==0||j==arr[i].length-1){arr[i][j] = 1;}else {arr[i][j] = arr[i-1][j-1]+ arr[i-1][j];}}}
4.打印数组for (int i = 0; i < len; i++) {for (int j = 0; j < arr[i].length; j++) {System.out.print(arr[i][j]+"\t");}System.out.println();}

此时就已经打印出杨辉三角了,但打印出的三角不符合我们所见到的格式:

---------杨辉三角(贾宪三角,帕斯卡三角)-----------
1    
1    1    
1    2    1    
1    3    3    1    
1    4    6    4    1    
1    5    10    10    5    1    
1    6    15    20    15    6    1    
1    7    21    35    35    21    7    1    
1    8    28    56    70    56    28    8    1    
1    9    36    84    126    126    84    36    9    1

对打印格式进行修改

5.首先获取半三角的最大数据 int maxNumber = arr[arr.length-1][(arr.length)/2];
6.判断这个数据为几位数,记录在count中int count = 0;while (maxNumber>1){maxNumber /= 10;count++;}
7.格式化输出:按照标准样式输出for (int i = 0; i < arr.length; i++) {
//            每行前面的空格System.out.format("%"+((arr.length-i)*count)+"s","");for (int j = 0; j < arr[i].length; j++) {
//                数据间的空隙System.out.format("%-"+count+"d",arr[i][j]);System.out.format("%-"+count+"s","");}System.out.println();}

打印结果:

完整代码:

System.out.println("---------杨辉三角(贾宪三角,帕斯卡三角)-----------");
//        首先定义变量行数int len = 10;
//        初始化二维数组存放数据int [][] arr = new int[len][];for (int i = 0; i < len; i++) {arr[i] = new int[i+1];}
//        将数据存储到数组for (int i = 0; i < len; i++) {for (int j = 0; j < arr[i].length; j++) {if(j==0||j==arr[i].length-1){arr[i][j] = 1;}else {arr[i][j] = arr[i-1][j-1]+ arr[i-1][j];}}}
//        打印数组for (int i = 0; i < len; i++) {for (int j = 0; j < arr[i].length; j++) {System.out.print(arr[i][j]+"\t");}System.out.println();}
//        按照格式打印
//            首先获取半三角的最大数据int maxNumber = arr[arr.length-1][(arr.length)/2];
//            判断这个数据为几位数int count = 0;while (maxNumber>1){maxNumber /= 10;count++;}
//        格式化输出for (int i = 0; i < arr.length; i++) {
//            每行前面的空格System.out.format("%"+((arr.length-i)*count)+"s","");for (int j = 0; j < arr[i].length; j++) {
//                数据间的空隙System.out.format("%-"+count+"d",arr[i][j]);System.out.format("%-"+count+"s","");}System.out.println();}}
}

java 杨辉三角(贾宪三角,帕斯卡三角)相关推荐

  1. 【JAVA 杨辉三角 数学文字游戏】

    @apiNote 杨辉三角 打印 解释 杨辉三角基本 规律 值为上一列对值 和 前一个值 的和 且首位都是1 我们可以通过二维数组来分析这个题目 package com.date808;import ...

  2. java杨辉三角_Java实现杨辉三角

    杨辉三角用了两种方法解决 二维数组/递归方法 +-------------------------- import java.util.Scanner; public class YangHui02 ...

  3. Java杨辉三角最简单的实现方式

    这里编写了杨辉三角的l两种实现方式,个人喜欢第一种,数组计算,第二种为纯计算的方式. 利用过 Java 语言中的流程控制语句,如条件语句.循环语句和跳转语句等知识输出一个指定行数的杨辉三角形. 杨辉三 ...

  4. java杨辉三角奇数_杨辉三角中的奇数与偶数

    4-38 数学教 学 2009年第 4期 杨辉三角中的奇数与偶数 430061湖北省武昌实验中学 王先东 1.问题的提出 第 0行 杨辉三角是大家非常熟悉的,如果我们把杨 辉三角中的奇数换成1,偶数换 ...

  5. Java 杨辉三角代码

    1 1  1 1  2  1 1  3   3   1 1  4   6   4   1 1  5   10   10   5   1 ..... public class Yanghui{publi ...

  6. 4、杨辉三角(帕斯卡三角)_python版本

    *说明:杨辉三角形,又称贾宪三角形,帕斯卡三角形,是二项式系数在三角形中的一种几何排列. 实现方法生成器(generate),详见:廖雪峰_python生成器. 记一下生成器的关键点: 1. 通过列表 ...

  7. Java 杨辉三角

    写在前言: 1.现在出去面试,面试官老是会问你一句话Java 怎么样? 不管是大数据岗位还是数据库都会问一句. 回来痛下决心,决定探索下这门语言的精髓,大数据很多框架也都是Java 写的,的确懂一门语 ...

  8. Java小白入门200例28之Java杨辉三角

    作者简介 作者名:编程界明世隐 简介:CSDN博客专家,从事软件开发多年,精通Java.JavaScript,博主也是从零开始一步步把学习成长.深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢 ...

  9. 输入n行的杨辉三角java,杨辉三角 Java代码 可以根据输入 输出相应行数的杨辉三角...

    /** * @see 打印出杨辉三角形(这是用的多维数组的形式,也可以根据公式计算),输出样式已经进行了调整 */ class YangHuiSanJiao { public static void ...

最新文章

  1. Django生命周期
  2. 博弈论 斯坦福game theory stanford week 1.1
  3. 亚麻纤维截面形态_天然丝纤维蚕丝
  4. 自动计算尺寸列表功能案例ios源码
  5. IDEA中Alt + Insert快捷键定制生成类方法
  6. bzoj1876 [SDOI2009]SuperGCD 辗转相减+高精
  7. 利用Arena Allocation避免HBase触发Full GC
  8. 笔记本电脑如何强制关机_笔记本按电源按钮不能关机只是关闭屏幕的解决办法...
  9. linux怎么重新编译c文件,linux编译c文件
  10. Excel组件使用配置文档下载
  11. Zookeeper基础使用
  12. 很多人觉得FPGA难学,因为他们没总结出数电的尽头是模电!
  13. linux 图形验证码不显示不出来的,linux下图形验证码显示问题
  14. vaspkit使用_Vaspkit做电荷密度差图
  15. 事件查看器-Windows程序闪退原因查看方法
  16. 灵飞经5龙生九子 第二十一章 危机四伏 2
  17. codeforces1359C Mixing Water
  18. 快递查询工具,一键查物流,派件时效怎么分析
  19. 菜鸟也来编程序 Windows脚本一日通
  20. 使用python计算一年有多少秒_python获取一年所有的日期

热门文章

  1. 天空之城系统开发模式源码
  2. ubuntu16.04安装kinetic ROS记录
  3. 高可用集群(HAC)
  4. 函数有参无参真有很大区别吗?
  5. error: can‘t create transaction lock on /var/lib/rpm/.rpm.lock (Permission denied)
  6. 屏幕分辨率 VGA、HVGA、QVGA、WVGA、WQVGA
  7. java导出word实现方式一,在jsp中实现
  8. Linux高级命令进阶(week1_day2)--技术流ken
  9. Shell编程(week4_day5)--技术流ken
  10. 五子棋java毕业设计论文_基于Java的五子棋游戏的设计毕业论文,课程设计,研究生文献...