采用一维数组输出杨辉三角形

该程序使用Java编写,通过双重循环生成杨辉三角的每一行。它初始化一个一维数组并遵循递归规则arr[j]=arr[j]+arr[j-1]来填充数组。每一行的最后一个元素被设定为1。程序遍历数组并打印出每一行的元素。
摘要由CSDN通过智能技术生成

 如图所示,杨辉三角第n行有n个数字,第一个和最后一个都是1,中间的数字都和上一行有关联。

比如 第三行的2就是由第二行第一个和第二个相加而来

易得出来规律 

 arr[j]= arr[j]+arr[j-1]   是用一维数组来定义的

Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int arr[] =new int[n]; //第n行有n个元素

arr[0]=1;

System.out.println(arr[0]); //打印第一行的1

从第二行开始进行遍历,第二行因为j=0; for循环是从第三行开始生效的 

 第三行开始,j=1,就是第三行第二个arr[1]  等于第二行第二个+第二行第一个即arr[J]+arr[J-1]

 for (int i = 1; i <n ; i++) {
 
            for (int j = i-1; j >0; j--) {
              //杨辉三角形 第i行 j个元素 等于 第(i-1)行第j个元素+第(i-1)行第(j-1)个元素
                arr[j]=arr[j]+arr[j-1];
                // 左边求出来的arr[j]是下一行的,右边的arr[j] 和arr[j-1] 是上面一行的

            }
                
            //每一行最后一个都为 1
            arr[i]=1;
                


     打印杨辉三角
            for (int j = 0; j <=i ; j++) {
                System.out.print(arr[j]+" ");
            }

            System.out.println();
        }

    }

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

渴求sspOffer的小周同学

您的支持是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值