您的位置:首页 > 编程语言 > Java开发

杨辉三角 java

2017-10-23 16:47 162 查看
package suanfa;

import java.util.Scanner;

public class yanghuisanjiao {

/**
*杨辉三角java
*杨辉三角的基本性质:
*1.每个数等于它上一行的两数之和。
*2.每行数字左右对称,由1开始逐渐变大。
*3.第n行的数字有n项。
*实现步骤如下:
*/

    static void yanghui(){

    //可通过键盘输入你想要打印的行数n

    Scanner in=new Scanner (System.in);

    System.out.print("请输入您要打印的行数n:");

    int n =in.nextInt();  

   

    int i,j;

    int arr[][] = new int

;   //先定义一个二维数组;

    for(i=0;i<n;++i){              //若n=10,则i<=9,即数组下标从0-9;
arr[i][0] = 1;             //确保每一行的第一个数为1;
arr[i][i] = 1;             //确保每一行的最后一个数也为1;

    }

    for(i=2;i<n;++i){              //i=2,既从第3行中开始才有“1.每个数等于它上一行的两数之和”
for(j=1;j<i;++j){          //j=1,此时数组从arr[2][1]=2开始:每个数等于它上一行的两数之和,注意这里的j<i,不能等于的原因是最右边已经确定是1;
arr[i][j] = arr[i-1][j-1] + arr[i-1][j];  //这里就是逻辑的核心:每个数等于它上一行的两数之和
}
}

   

    //打印二维数组

    for(i=0;i<n;++i){              //遍历所有的行;

    for(j=0;j<=i;++j){         //这里是j<=i,因为要遍历所有的列,包括最右边的1;

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

    }

    System.out.print("\n");    //每遍历一行后换行;

    }    

    }

    
public static void main(String[] args) {
yanghui();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 杨辉三角