写出杨辉三角_【排列与组合】杨辉三角

今天有老师在GeoGebra学习QQ群里提到了杨辉三角如何制作?孙生富老师给出了一个带组合数指令的嵌套指令。今天我们就来看看这个指令吧。

基础知识点(摘抄自百度百科:杨辉三角):

杨辉三角,是二项式系数在三角形中的一种几何排列。

8b275eff3b735fd5347987b7c6c27f38.png

  1. 每个数等于它上方两数之和。

  2. 每行数字左右对称,由1开始逐渐变大。

  3. 第n行的数字有n项。

  4. 前n行共[(1+n)n]/2 个数。

  5. 第n行的m个数可表示为 C(n-1,m-1),即为从n-1个不同元素中取m-1个元素的组合数

    6187a85f8bd91430cac4ae2961a7c7bd.png

  6. 第n行的第m个数和第n-m+1个数相等 ,为组合数性质之一。

  7. 每个数字等于上一行的左右两个数字之和。可用此性质写出整个杨辉三角。即第n+1行的第i个数等于第n行的第i-1个数和第i个数之和,这也是组合数的性质之一。即 C(n+1,i)=C(n,i)+C(n,i-1)。

  8. (a+b)^n的展开式中的各项系数依次对应杨辉三角的第(n+1)行中的每一项。

  9. 将第2n+1行第1个数,跟第2n+2行第3个数、第2n+3行第5个数……连成一线,这些数的和是第4n+1个斐波那契数;将第2n行第2个数(n>1),跟第2n-1行第4个数、第2n-2行第6个数……这些数之和是第4n-2个斐波那契数。

  10. 将第n行的数字分别乘以10^(m-1),其中m为该数所在的列,再将各项相加的和为11^(n-1)。11^0=1,11^1=1x10^0+1×10^1=11,11^2=1×10^0+2x10^1+1x10^2=121,11^3=1x10^0+3×10^1+3x10^2+1x10^3=1331,11^4=1x10^0+4x10^1+6x10^2+4x10^3+1x10^4=14641,11^5=1x10^0+5x10^1+10x10^2+10x10^3+5x10^4+1×10^5=161051。
  11. 第n行数字的和为2^(n-1)。1=2^(1-1),1+1=2^(2-1),1+2+1=2^(3-1),1+3+3+1=2^(4-1),1+4+6+4+1=2^(5-1),1+5+10+10+5+1=2^(6-1)。

  12. 斜线上数字的和等于其向左(从左上方到右下方的斜线)或向右拐弯(从右上方到左下方的斜线),拐角上的数字。1+1=2,1+1+1=3,1+1+1+1=4,1+2=3,1+2+3=6,1+2+3+4=10,1+3=4,1+3+6=10,1+4=5。

  13. 将各行数字左对齐,其右上到左下对角线数字的和等于斐波那契数列的数字。1,1,1+1=2,2+1=3,1+3+1=5,3+4+1=8,1+6+5+1=13,4+10+6+1=21,1+10+15+7+1=34,5+20+21+8+1=55。

制作思路:在制作该案例时,我们主要应用的是以上13个性质中的性质5,也就是利用组合数的方式。 组合数指令 : 组合数( , )

组合数中两个参数就是组合数的N和M,如想得到aacc85df7dfd1123e2d2e765442bec24.png的值,我们只需要输入组合数(9,5)即可

6187a85f8bd91430cac4ae2961a7c7bd.png

基于性质5,我们可以很方便的写出所有的数值。

序列(序列(组合数(k-1,j), j, 0, k-1) ,k,1,5)

在该指令中 外层 序列 表示的是 5 行的数字,该案例有第 1 行到第5行 ,内层 序列就是 一行对象, 每一行做 k 个对象 (0到k -1 ,共 k 个 ) 。做出来如下。

ce6e3401aec0fb51b26d63b0482af844.png

制作步骤:

基于上面的思考,画出来杨辉三角只用一条序列嵌套指令就可以。就是利用文本指令,在所有的数值基础上增加上每个值的位置即可。。

序列(序列( 文本( 组合数(k-1, j)  , ((-(k-1))/2+j,-k))  , j, 0,k-1) ,k,1,5)

568ab4f2b1f5d93d39bdc656ecf04de6.png

文本指令,文本( , ),其中组合数(k-1, j)就是文本对象,((-(k-1))/2+j,-k)是文本所在的坐标点。

但是为了保证其可调节的特点,还是做三个滑动条分别调整行数 n、横向间距 a、纵向间距 b。

n=滑动条(1,20,1) a=滑动条(0.1,3,0.1) b=滑动条(0.1,3,0.1)将上面的指令中的 5变成 n,这样行数就可变了。再把 横坐标乘以 a纵坐标乘以 b,这样文本的间距就可以调整了。

l1=序列( 序列(  文本( 组合数(k - 1, j)(((-(k - 1)) / 2 + j)a, -k b)  , j, 0, k - 1) , k, 1, n)

a7e8afd0282efe46d655ea2d0b47004c.png

除此之外,还可以略加修改,显示出组合数的表达式。

l2 = 序列(序列(文本( "C^{" + (j) + ("}_{" (k - 1) "}") , (((-(k - 1)) / 2 + j) a, -k b) , true, true ), j, 0, k - 1), k, 1, n)

bb29d02a740d339f7cceb76f73fbcee9.png

添加一个复选框,用于设置为l2的显示条件。

a062ee088e618668f536f8da8a6f6d51.png

8127cfa88b8079f928dee899605c9975.png

至此该案例全部完成。

当然,和 组合数指令相似的还有一个排列数,用法完全一样,这里也不再赘述。

组合数( , )

排列数( , )




文章提到的资源(源文件),请在永硕网盘(geogebra.ys168.com)下载,如果你觉得文章不错,记得点赞、分享打赏。 本文由 GeoGebra学习 公众号原创发布,禁止转载! 关注GeoGebra学习,共同学习GeoGebra数学软件。 5a1e5a07c71c2df14efb8494bfb57654.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值