Java语言杨辉三角
输出效果就是这样的
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1 展开
打印杨辉三角代码如下:
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]+"\t");
}
System.out.println();
}
}
public static void main(String args[]) {
triangle(9);
}
}
扩展资料:
杨辉三角起源于中国,在欧洲这个表叫做帕斯卡三角形。帕斯卡(1623----1662)是在1654年发现这一规律的,比杨辉要迟393年。它把二项式系数图形化,把组合数内在的一些代数性质直观地从图形中体现出来,是一种离散型的数与形的优美结合。
杨辉三角具有以下性质:
1、最外层的数字始终是1;
2、第二层是自然数列;
3、第三层是三角数列;
4、角数列相邻数字相加可得方数数列。
打印杨辉三角代码如下:
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]+"\t");
}
System.out.println();
}
}
public static void main(String args[]) {
triangle(9);
}
}
扩展资料:
杨辉三角起源于中国,在欧洲这个表叫做帕斯卡三角形。帕斯卡(1623----1662)是在1654年发现这一规律的,比杨辉要迟393年。它把二项式系数图形化,把组合数内在的一些代数性质直观地从图形中体现出来,是一种离散型的数与形的优美结合。
杨辉三角具有以下性质:
1、最外层的数字始终是1;
2、第二层是自然数列;
3、第三层是三角数列;
4、角数列相邻数字相加可得方数数列。
public class YH
{
public static void main(String agrs[])
{
int a[5][5],i,j;
for(i = 0;i < 5 ;i++)
{
for(j = 0;j < i;j++)
{
if(i == j || j == 1) a[i][j] = 1;
else
a[i][j] = a[i][j-1] + a[i-1][j-1];
System.out.print(a[i][j]);
}
System.out.print('\n');
}
}
杨辉三角,又称贾宪三角形,帕斯卡三角形,是二项式系数在三角形中的一种几何排列。在欧洲,这个表叫做帕斯卡三角形。帕斯卡(1623----1662)是在1654年发现这一规律的,比杨辉要迟393年,比贾宪迟600年。
/**Pascal三角形的计算深度为5*/
private static final int PASCAL_DEPTH = 5;
/**数组的行*/
private int row;
/**数组的列*/
private int column;
/**存储不同长度数组的数组,是一个二维数组*/
private int[][] pascalArray = {new int[1],new int[2],new int[3],new int[4],new int[5]};
/**产生Pascal三角形*/
public void producePascal(){
for(row = 0; row < PASCAL_DEPTH; row++){
for(column = 0; column <= row; column++){
//第一列数全为1
if(column == 0){
pascalArray[row][column] = 1;
}
else{
pascalArray[row][column] = (row - column + 1) * pascalArray[row][column - 1] / column;
}//end if-else
}//end for(column...)
}//end for(row...)
}
/**按照每个数组的长度length打印Pascal三角形*/
public void printWithLength(){
for(int i = 0; i < PASCAL_DEPTH; i++){
for(int j = 0, n = pascalArray[i].length; j < n; j++){
System.out.print(pascalArray[i][j] + " ");
}
System.out.println();
}
}
public static void main(String[] args){
PascalTriangle pascal = new PascalTriangle();
pascal.producePascal();
pascal.printWithLength();
}
}
很早以前写过的深度为12的杨辉三角,要想完成交互,你可以用Scanner处理
你这里只要求5行,那PASCAL_DEPTH常量定为5即可。
这里只用普通数组,声明时按需声明,用Vector可实现变长数组
public static void main(String[]args){
int a[][]=new int[5][5];
for (int i=0;i<a.length ;i++ )
{
for (int j=0;j<a[i].length ;j++ )
{
if (j==0||i==j)
{
a[i][j]=1;
}
else{
if (i>j)
{
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
}
}
}
for (int i=0;i<a.length ;i++ )
{
for (int j=0;j<a[i].length ;j++ )
{
if (i>=j)
{
System.out.print(a[i][j]+"\t");
}
}
System.out.println();
}
}
}