当前位置:首页 » 编程语言 » java二维数组杨辉三角

java二维数组杨辉三角

发布时间: 2023-01-05 21:45:46

java编写杨辉三角~~~

  • 杨辉三角线的推理:

杨辉三角形性质:


每行数字左右对称,由 1 开始逐渐变大,然后变小,回到 1。


第 n 行的数字个数为 n 个。


第 n 行数字和为 2^(n-1) 。


每个数字等于上一行的左右两个数字之和。可用此性质写出整个杨辉三角形。


第 n 行的第 1 个数为 1,第二个数为 1× (n-1) ,第三个数为 1× (n-1) × ( n-2) /2,第四个数为1× (n-1) × (n-2) /2× (n-3) /3…依此类推。

使用一个二维数组 yh[][] 存储杨辉三角形的数据,行和列的大小为所需要输出的行数 Row(本程序中 Row 为 10)。


使用 for 循环使杨辉三角中除了最外层(不包括杨辉三角底边)的数为 1 ;


使用语句 yh[i][j] = yh[i - 1][j - 1] + yh[i - 1][j] 使第 i 行第 j 列的数据等于第(i-1) 行


第(j-1)列的数据与第(i-1)行第(j)列的数据之和,即每个数字等于上一行的左右两个数字之和。

  • 代码的实现

  • packagecom.practice;

    publicclassYangHuiSanJiao
    {
    publicstaticvoidmain(String[]args){
    int[][]a=newint[10][10];
    for(intn=0;n<10;n++)
    {
    a[n][0]=1;
    a[n][n]=1;
    }
    for(intn=2;n<10;n++)
    {
    for(intj=1;j<n;j++)
    {
    a[n][j]=a[n-1][j-1]+a[n-1][j];
    }
    }

    for(intn=0;n<10;n++)
    {
    for(intk=0;k<2*(10-n)-1;k++)
    {
    System.out.print("");
    }
    for(intj=0;j<=n;j++)
    {
    System.out.print(a[n][j]+"");
    }
    System.out.println();
    }

    }
    }

⑵ 用java写一个杨辉三角形,求助(不规则二维数组怎么定义)

前面[]要定义长度,后面可以为空,这样就可以定义你这样的数组了。

⑶ java数据结构打印杨辉三角形总是少个1

直接定义一个“lianxi”类,定义一个二维数组a[][];

⑷ Java语言杨辉三角

打印杨辉三角代码如下:

public class woo {

public static void triangle(int n) {

int[][] array = new int[n][n];//三角形数组

for(int i=0;i<array.length;i++){

for(int j=0;j<=i;j++){

if(j==0||j==i){

array[i][j]=1;

}else{

array[i][j] = array[i-1][j-1]+array[i-1][j];

}

System.out.print(array[i][j]+" ");

}

System.out.println();

}

}

public static void main(String args[]) {

triangle(9);

}

}

(4)java二维数组杨辉三角扩展阅读

杨辉三角起源于中国,在欧洲这个表叫做帕斯卡三角形。帕斯卡(1623----1662)是在1654年发现这一规律的,比杨辉要迟393年。它把二项式系数图形化,把组合数内在的一些代数性质直观地从图形中体现出来,是一种离散型的数与形的优美结合。

杨辉三角具有以下性质:

1、最外层的数字始终是1;

2、第二层是自然数列;

3、第三层是三角数列;

4、角数列相邻数字相加可得方数数列。

⑸ java二维数组杨辉三角多位数对齐

可以考虑数组,也就是在把内容均衡放到数组里面

或者教你个馊主意,在打印输出的时候把字符串格式化,强制格式化为譬如5长度宽

⑹ java 使用二维数组输出杨辉三角

哪里看不懂 追问吧

⑺ Java中用二维数组输出杨辉三角,我已经写出代码,求高人解答每句代码的意思。明白以后重谢!

在包blackfire中
package Blackfire;

类名为blackfire
public class Blackfire {

/**
* @param args

主方法 程序的入口 里面的参数数组,以后可以在dos下面调用
比如 java blackfire(参数),当然这个程序里没有;
public static void main(String[] args) {

final类型的变量表示不希望子类修改,只能继承.
final int a=9;
定义一个二维数组
int s[][]=new int[a][a];

画斜边和第一列
for(int i=0;i<a;i++)
{

s[i][0]=1;
s[i][i]=1;

}
//算出数组
for (int i=2;i<a;i++)
{
//这里改为i 把a改为i*************************************************************************
for (int j=1;j<i;j++)
{
s[i][j]=s[i-1][j-1]+s[i-1][j];
}
}
//打印数组..............
for (int i=0;i<a;i++)
{
for(int j=0;j<=i;j++)
{
System.out.print(s[i][j]+"");
}
System.out.println();
}
}
}

在星号那行我把程序修改了,这样效率高些,其实这个程序做的就两部,首先声明一个 数组 ,你可以把它想成行列式 一个正方形的矩阵,行号列号为0~a-1
然后在分别画出三角形的两边 也就是矩阵的第一列和斜边,然后在一个一个循环,算出值
最后用system.out 打印出数组.......

⑻ java编写 使用二维数组存储杨辉三角并打印输出。

使用二维数组存储杨辉三角并打印输出的Java程序如下

publicclassYangHui{
publicstaticvoidmain(String[]args){
finalintROW=5;//指定杨辉三角形的行数
inta[][]=newint[ROW+1][];
for(inti=0;i<=ROW;i++){
a[i]=newint[i+1];//指定每行的列数
}
for(inti=0;i<=ROW;i++)
for(intj=0;j<=a[i].length-1;j++){
if(i==0||j==0||j==a[i].length-1)
a[i][j]=1;
else
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
//输出杨辉三角形
for(inti=0;i<=ROW;i++){
for(intj=0;j<=ROW-i;j++)
System.out.print(" ");
for(intj=0;j<=a[i].length-1;j++)
System.out.print(a[i][j]+" ");
System.out.println();
}
}
}

运行结果

⑼ 初学java 用一个二维数组打印杨辉三角 但是编译总是不对 求解答

你好,java语言不能采用参数定义数组变量,
所以int[][] a=new int[n][2n-1];有问题。你可以用List 用在util包中的

热点内容
随机启动脚本 发布:2025-07-05 16:10:30 浏览:529
微博数据库设计 发布:2025-07-05 15:30:55 浏览:26
linux485 发布:2025-07-05 14:38:28 浏览:306
php用的软件 发布:2025-07-05 14:06:22 浏览:757
没有权限访问计算机 发布:2025-07-05 13:29:11 浏览:433
javaweb开发教程视频教程 发布:2025-07-05 13:24:41 浏览:709
康师傅控流脚本破解 发布:2025-07-05 13:17:27 浏览:244
java的开发流程 发布:2025-07-05 12:45:11 浏览:689
怎么看内存卡配置 发布:2025-07-05 12:29:19 浏览:286
访问学者英文个人简历 发布:2025-07-05 12:29:17 浏览:835