Java杨辉三角

Java杨辉三角

杨辉三角
1.三角形的两条斜边上的数都是1
其余的数都等于它肩上两个数字相加
2.杨辉三角具有对称性
3.每一行的第二个数就是这行的行数(从第0行开始)
4.所有行的两个数构成等差数列
5.第n行包含n+1个数

有二种方法可以写,一种是输入法,另一种是输出法
输出法(在main主方法里面写):首先创建一个二维数组

int b[][] = new int[6][6];//创建二维数组

然后写二个for循环遍历数组,用一个if判断j等于0或等于i,然后将二侧数组元素赋值为1

	 //遍历二维数组的第一层
		     for(int i=0;i<b.length;i++){
		    	   //遍历二维数组的第二层
		    	   for(int j=0;j<=i;j++){
		    		 if(j==0||j==i){//判断j等于0或j等于i
		    			 b[i][j]=1;//将两侧的数组元素赋值为1
		    		 }else{
		    			 b[i][j]=b[i-1][j]+b[i-1][j-1];
		    		 }
		    	   }
		     }

最后就是循环遍历输出结果以及输出结果换行

    //打印结果
		     for (int i=0;i<b.length;i++){
		    	  for(int j=0;j<=i;j++){
		    		System.out.print(b[i][j]+"  ");//输出结果
		    	   }
		    	     System.out.println();//输出结果换行
		     }		   

输出结果图如下:
在这里插入图片描述

输入法(在main主方法里面写):首先引用import java.util.Scanner;然后写键盘输入代码如下

System.out.println("请输入需要查找的元素:");
	    Scanner in = new Scanner(System.in);
	    int n = in.nextInt();

然后创建一个二维数组

int a[][] = new int[n][];//创建二维数组

然后在写一个if条件判断语句,n是否等于0,则输出结果,反则二次for循环遍历数组,遍历第二层之前先初始化第二层数组的大小,再用一个if判断j等于0或等于i,然后将二侧数组元素赋值为1

if(n==0){//判断是否等于0
	        System.out.println("无法遍历");
	     }else{ 
	    	 //遍历二维数组的第一层
	     for(int i=0;i<a.length;i++){
	    	 a[i] = new int[i+1];//初始化第二层数组的大小
	    	 //遍历二维数组的第二层
	    	  for(int j=0;j<=i;j++){
	    		 if(j==0||j==i){//判断j等于0或j等于i
	    			 a[i][j]=1;//将两侧的数组元素赋值为1
	    		 }else{
	    			 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<=i;j++){
		    		System.out.print(a[i][j]+"  ");//输出结果
		    	   }
		    	     System.out.println();//输出结果换行
		     }		   

输出结果图如下:
在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值