巴斯卡三角形编程实现


编程实现这个图片显示:

假如知道这个是一个著名的算法,那么可能编程很简单,把算法转化一下就ok了。

但是假如不知道,应该怎么入手,首先要把这个图形转化为一个2为数组的形式,如下图:

很容易得出一个计算的方法:

第一位,最后一位都是1

前两行固定好了。

新行开始一位都是1.

第二位怎么是0。

第三位一直到中间行(包括)都是上一行的前一位和后一位相加得到。

中间行以后正好一一对应,既可以。

 

N表示,要显示多少行

那么数组就是n*2+1这么多行数。

     int k = 0;//0----------M

     int i, j;

     int a = 1;

     for(i = 0; i <= M; i++){

         for(j = (M - k); j <= (M + k); j ++){

              if(a == 1){

                   num[i][j]= 1;

              }else if(a == 2){

                   num[i][j]= 0;

              }else{

                   if(j < N -1){

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

                   }else{

                       num[i][j]= 1;

                   }

              }

              a++;

         }

         a= 1;

         k++;

     }

图形和代码分析:

M表示第一行的显示位,或者说是中间列的位置。

第一个循环是0-----------------M一共m+1行。

第二个循环从0-----------------M一共m+1列。

         每行第一列为1,第二列为0.第三列为上一行的前一列,+上一行的后一列。

需要注意的是M行的最后一列,他没有上一行的后一列,那么他就直接=1.

 

 

巴斯卡三角形 的倒三角如何做?

 

只需要把正巴斯卡三角的输出修改一下即可。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值