文章目录

  • 一、递推算法
  • 二、杨辉三角展开

一、递推算法

这是一种比较简单的算法,即通过已知条件,利用特定关系得到中间结论,然后得到最后结果的算法。递推算法可以分为顺推和逆推两种。

二、杨辉三角展开

1、杨辉三角

  • 杨辉三角,是二项式系数在三角形中的一种几何排列。
  • 杨辉三角的性质:
    每个数等于它上方两数之和。
    每行数字左右对称,由1开始逐渐变大。
    第n行的数字有n项。
    前n行共[(1+n)n]/2 个数。
    第n行的m个数可表示为 C(n-1,m-1),即为从n-1个不同元素中取m-1个元素的组合数。
    第n行的第m个数和第n-m+1个数相等 ,为组合数性质之一。

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

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

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

(4)将第n行的数字分别乘以10(m-1),其中m为该数所在的列,再将各项相加的和为11(n-1)

3、C语言实现

#include <stdio.h>
#define N 8void main()
{int a[N+1][N+1], i, j;for(i=0; i<=N; i++){a[i][i]= a[i][0]= 1;}for(i=2; i<=N; i++){for(j=1; j<i; j++){a[i][j]= a[i-1][j]+ a[i-1][j-1];}}printf("%d 阶杨辉三角:\n", N+1);for(i=0; i<=N; i++){for(j=0; j<=i; j++)printf("%4d",a[i][j]);printf("\n"); }
}

4、算法思想
使用二维数组存放杨辉三角中的数据元素,初始时,将第1列和对角线上的元素初始化为1,即a[i][0]=a[i][i]=1
然后利用每一行元素值是它上一层两个相邻元素之和求其他元素值,即a[i][j]= a[i-1][j]+a[i-1][j-1]

参考文献:《The Function and Algorithm of Program Language C/C++》

C语言经典递推算法之杨辉三角展开(详解)相关推荐

  1. C语言实现-杨辉三角(详解解析-知识点总结)

    题目简介  杨辉三角,是二项式系数在三角形中的一种几何排列,今天我们通过在屏幕上打印杨辉三角来复习和详解杨辉三角所涉及C语言的相关知识. 代码一览 #include<stdio.h> vo ...

  2. C语言杨辉三角代码详解(超级详细,真的不进来看看吗?)

    杨辉三角:是二项式系数在三角形中的一种几何排列.它的两条斜边都是1,中间数字等于它肩上数字之和. 就像这样: 那么,如何用C语言写出杨辉三角呢? 思路 1.定义一个二维数组,赋初值为1,这里以四行四列 ...

  3. c语言 杨辉三角(详解)

    前言:杨辉三角,是二项式系数在三角形中的一种几何排列,出自中国南宋数学家杨辉1261年所著的<详解九章算法>,今天让我们用c语言来让杨辉三角呈现在我们面前! 目录 一.杨辉三角 二.问题分 ...

  4. python写等腰三角形的性质_杨辉三角—知识点详解 - osc_8cfq8uoa的个人空间 - OSCHINA - 中文开源技术交流社区...

    杨辉三角 杨辉三角(欧洲叫帕斯卡三角)是一个很奇妙的东西,它是我国数学家杨辉在1261年发现的,欧洲的帕斯卡于1654年发现,比我国的巨佬数学家杨辉晚了393年.(在此show一下我的爱国情怀) 铺垫 ...

  5. python杨辉三角函数_python杨辉三角输出指定行_使用python打印十行杨辉三角过程详解...

    如何用python输出杨辉三角 程序输出需要实现如下效果: [1] [1,1] [1,2,1] [1,3,3,1] .. 方法:迭代,生成器 12345678910111213141516171819 ...

  6. python杨辉三角输出指定行_python杨辉三角输出指定行_使用python打印十行杨辉三角过程详解...

    如何用python输出杨辉三角 程序输出需要实现如下效果: [1] [1,1] [1,2,1] [1,3,3,1] .. 方法:迭代,生成器 12345678910111213141516171819 ...

  7. LeetCode-118杨辉三角C++详解

    题目 给定一个非负整数 numRows,生成杨辉三角的前 numRows 行. 在杨辉三角中,每个数是它左上方和右上方的数的和. 示例: 输入: 5 输出: [ [1], [1,1], [1,2,1] ...

  8. python杨辉三角输出指定行_使用python打印十行杨辉三角过程详解

    如何用python输出杨辉三角 程序输出需要实现如下效果: [1] [1,1] [1,2,1] [1,3,3,1] .. 方法:迭代,生成器 12345678910111213141516171819 ...

  9. 杨辉三角—知识点详解

    杨辉三角 杨辉三角(欧洲叫帕斯卡三角)是一个很奇妙的东西,它是我国数学家杨辉在1261年发现的,欧洲的帕斯卡于1654年发现,比我国的巨佬数学家杨辉晚了393年.(在此show一下我的爱国情怀) 铺垫 ...

最新文章

  1. 【全网之最】最短代码清除数组中的假、空值(0、空、null、undefined、false)
  2. 清华大学王玉计算机,王玉珏(清华大学环境学院教授)_百度百科
  3. 一次看完28个关于ES的性能调优技巧
  4. 服务器硬件监控转载:
  5. 在C#中使用SQLite
  6. [react] 如何解决引用类型在pureComponent下修改值的时候,页面不渲染的问题?
  7. pygame小游戏代码_Py之pygame:有趣好玩——利用pygame库实现一个移动底座弹球的小游戏...
  8. 《Python机器学习——预测分析核心算法》——2.4 基于因素变量的实数值预测:鲍鱼的年龄...
  9. 用JSLint+Ant检验HTML代码
  10. session在.ashx文件操作问题
  11. 让你彻底明白什么叫游戏引擎(2)
  12. 机器学习基础算法24-SVM理论部分
  13. 无法进入一个空框_DeNoise AI无法从Photoshop作为插件启动?
  14. 技术人员就不要当资金股东了
  15. 2007版的office软件下载及简介
  16. 夜神模拟器使用过程遇到的问题
  17. 2017-AHU校赛网络赛解题报告
  18. js打印线程id_泥瓦匠聊并发编程:线程与多线程必知必会(基础篇)
  19. 如何安装计算机刻录程序,详解怎么用电脑刻录光盘
  20. Nginx配置基于IP的访问控制

热门文章

  1. Python正则去除中英文标点的操作手法
  2. java超大文本反序列化_fastjson处理超大对象和超大JSON文本
  3. 主力骗线出货! 71种K线形态详细分析
  4. 牛血清白蛋白修饰牛红细胞超氧化物歧化酶SOD/叶酸偶联2-ME白蛋白纳米粒的制备
  5. 【Python案例】——利用Django搭建一个钓鱼网站【轻松入门】
  6. 计算机科学与技术专业
  7. NX二次开发 获取基准坐标系特征的坐标原点、基准轴、基准面对象 UF_MODL_ask_datum_csys_components
  8. Vue中使用echarts绘制地图,以及只显示南海问题
  9. SAP MM顾问,物流管理人员择业的新方向
  10. 2008年中山市小学生信息学邀请赛第一题——机器人行走