您的位置:

java语言杨辉三角,java写杨辉三角

本文目录一览:

java编写杨辉三角~~~

#include stdio.h

main()

{ int i,j,n=0,a[17][17]={0};

while(n1 || n16)

{printf("请输入杨辉三角形的行数:");

scanf("%d",n);

}

for(i=0;in;i++)

a[i][0]=1; /*第一列全置为一*/

for(i=1;in;i++)

for(j=1;j=i;j++)

a[i][j]=a[i-1][j-1]+a[i-1][j];/*每个数是上面两数之和*/

for(i=0;in;i++) /*输出杨辉三角*/

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

printf("%5d",a[i][j]);

printf("\n");

}

}

用JAVA语言编译杨辉三角形,怎么做?

import java.util.Scanner;

public class PascalTriangle {

public static void main(String[] args) {

System.out.print("Please input a digit for pascal triangle: ");

Scanner scanner = new Scanner(System.in);

final int num = scanner.nextInt();

int[][] ary = getPascalTriangle(num);

for(int[] item: ary){

for(int value: item){

System.out.print((value 0? value: "") + " ");

}

System.out.println();

}

}

private static int[][] getPascalTriangle(final int num) {

int[][] ary = new int[num][num];

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

ary[i][0] = 1;

ary[i][i] = 1;

}

for(int i = 1; i ary.length; i++){

for(int j = 1; j = i; j++){

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

}

}

return ary;

}

}

直接复制到java文件中就可以用了

Java语言杨辉三角

打印杨辉三角代码如下:

public class woo {

public static void triangle(int n) {

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

for(int i=0;iarray.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]+"\t");

}

System.out.println();

}

}

public static void main(String args[]) {

triangle(9);

}

}

扩展资料:

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

杨辉三角具有以下性质:

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

2、第二层是自然数列;

3、第三层是三角数列;

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

JAVA语言编写杨辉三角,打印不出三角形

这个问题是因为题主使用了 println() 来打印每一个数字。println() 函数的名称来源于 Print Line 的简称,从名字上就可以看出,此函数会打印出一个整行。因此 println() 函数会在要打印的字符串后自动添加一个 '\n' 符号来构成一个新行。所以如果用 println() 来打印单个数字的话,每个数字在被打印出来后就会换行,这样就导致了一行只有一个数字,所有数字打印出来后排成了一个竖条。

解决方法就是用 print() 方法来替代 println() 。print() 方法仅打出你括号里给的字符串,不会额外添加任何东西,所以这个方法可以用来在一行里打出多个给定的字符串。 更改后的代码如下:

public class YangHui {

    

    public static void main(String args[]) {

        

        // 先定义以一个二维数组。列比行多 1,EG:第 0 行有一个元素。

        int[][] yanghui = new int[10][];

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

            yanghui[i] = new int[i + 1];

        }

        // 将二维数组赋值。

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

            for (int j = 0; j  yanghui[i].length; j++) {

                yanghui[i][0] = yanghui[i][i] = 1;

                if ((i  1)  (j  0)  (j  i)) {

                    yanghui[i][j] = yanghui[i - 1][j] + 

                                    yanghui[i - 1][j - 1];

                }

            }

        }

        // 二维数组遍历,打印每个数字。

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

            

            for (int j = 0; j  yanghui[i].length; j++) {

                

                // 用 print() 方法打印数字

                System.out.print(yanghui[i][j]);

                

                // 打印完数字后打印一个 tab 来将数字隔开

                System.out.print('\t');

            }

            // 打印完一行数字后,打印一个新行并开始输出下一行数字。

            System.out.println();

        }

    }

}

这个程序的结果如下:

可见三角形的结构出现了。但是这个三角形并不是杨辉三角的等腰三角形,而是一个直角三角形,所以如果题主要求严格的杨辉三角的话,需要进行一些稍微复杂的修改。以下代码可供参考,关于 printf() 函数的用法我在代码注释中稍有提及,详细请参阅 Java 的官方文档。

public class YangHui {

    public static void main(String args[]) {

        // 先定义以一个二维数组。列比行多 1,EG:第 0 行有一个

        // 元素。

        int[][] yanghui = new int[10][];

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

            yanghui[i] = new int[i + 1];

        }

        // 将二维数组赋值。

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

            for (int j = 0; j  yanghui[i].length; j++) {

                yanghui[i][0] = yanghui[i][i] = 1;

                if ((i  1)  (j  0)  (j  i)) {

                    yanghui[i][j] = yanghui[i - 1][j] + 

                                    yanghui[i - 1][j - 1];

                }

            }

        }

        // 二维数组遍历,打印每个数字。

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

            // 打印数字之前先根据此行数字的数量来打印相应数量的

            // 空格,这里选择 8 个空格的长度作为示范。

            for (int k = 0; 

                k  Math.ceil((10 - i - 1) / 2); 

                k++) {

                

                // 前面的占位符 "%-8s" 中, - 代表这个字符串是

                // 左对齐的,8 代表这个字符串最多由 8 个字符组成,

                // s 代表这个字符串表示的类型是字符串 (String)。

                System.out.printf("%-6s", "");

            }

            // 根据行数的奇偶来判断是否打印额外半个长度(8 的一半

            // 是 4)的空格,如果没有这一步的话,打印出的形状不会

            // 是一个完整的等腰三角形。

            System.out.printf(i % 2 == 0 ? "%-6s" 

                                        : "%-3s", "");

            // 打印完前面的空格后便可打印数字了。

            for (int j = 0; j  yanghui[i].length; j++) {

                // 每个数字仍占 8 个字符的空间,这样可以保证数字

                // 的长度整齐划一。"%-8d" 中的 d 代表这个字符串

                // 所表示的类型是整数(Decimal)。

                System.out.printf("%-6d", yanghui[i][j]);

            }

            // 打印完一行数字后,打印一个新行并开始输出下一行数字。

            System.out.println();

        }

    }

}

(上述代码的空格长度 6 和 3 可以随意更改,只要确保长空格长度是偶数,短空格长度是长空格的一半即可。空格越长输出的三角形越松散)。

以上代码运行的结果为

是一个完整的杨辉三角形。

java 杨辉三角

import java.util.Scanner;

public class Test {

public static void main(String args[]) {

int Line_num;

int row, col;

int yh[] = new int[20]; // 不超过20行

Scanner reader = new Scanner(System.in);

System.out.print("请输入行数:");

Line_num = reader.nextInt();

yh[0] = 1;

for (row = 0; row  Line_num; row++) { // 控制输出行数为Line_num的循环控制

for (col = row; col  0; col--){

yh[col] = yh[col - 1] + yh[col];

}

for (int i=1;iLine_num-row;i++){ // 控制输出每行前导空格的循环控制

System.out.print(" ");

}

for (col = 0; col = row; col++) {

System.out.print(yh[col]+" "); //输出下标为col的项的代码

}

System.out.println("");

}

}

}

我的上一楼不符合楼主需求,我是符合需求的第一个,希望楼主能采纳!

用JAVA编写杨辉三角

我的绝对正确 书上抄的 还验证过!

public static void main(String[]args){

int r=6;

int a[][]=new int[r+1][]; //表示6个一维数组组成

for(int i=0;i=r;i++){

a[i]=new int[i+1];} //表示使用for循环为一维数组指定列数

YangHui(a,r);

}

static void YangHui(int a[][],int r){

for(int i=0;i=r;i++){

for(int j=0;ja[i].length;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(int i=0;i=r;i++){

for(int j=0;ja[i].length;j++){

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

System.out.println();}

}

}

java语言杨辉三角,java写杨辉三角

2022-11-20
杨辉三角java,杨辉三角java代码

2023-01-05
java杨辉三角,java杨辉三角等腰三角形

2023-01-08
杨辉三角java,杨辉三角javascript程序

2023-01-09
java实现杨辉三角算法,java编程杨辉三角

2022-11-23
Java实现杨辉三角

在Java中可以使用二维数组的方式,将每一个值赋予其对应的杨辉三角位置,从而形成整个杨辉三角的形结构。一、算法概述杨辉三角,又称Pascal三角形,其性质有:第n行的数字个数等于n,第n行的m个数可以

2023-12-08
Java实现杨辉三角

在Java中可以使用二维数组的方式,将每一个值赋予其对应的杨辉三角位置,从而形成整个杨辉三角的形结构。一、算法概述杨辉三角,又称Pascal三角形,其性质有:第n行的数字个数等于n,第n行的m个数可以

2023-12-08
怎样用java打印杨辉三角,java打印输出杨辉三角

2022-11-17
php实现杨辉三角,html杨辉三角

2022-11-29
杨辉c语言,杨辉三角型c语言

2023-01-08
杨辉c语言编写,c++编译杨辉三角

2023-01-04
c语言杨辉三角不用数组,C语言杨辉三角数组

2023-01-08
杨辉三角c语言程序,杨辉三角c语言程序5行

2023-01-07
Python编写杨辉三角

2023-05-21
C++杨辉三角详解

2023-05-24
杨辉c语言全集,c语言编译杨辉三角

2023-01-05
c语言杨辉教程,用C语言实现杨辉三角

2022-11-22
c语言程序杨辉,c程序杨辉三角

2023-01-06
c语言杨辉三角不用数组,c++杨辉三角怎么用数组写出来

2022-12-02
杨辉三角形C语言

2023-05-23