程序分析:

前面已经介绍了用二维数组、一维数组写杨辉三角,这里再一种不用数组的方法,这种方法是三种当中最难的一个。

在写程序之前我们要发现杨辉三角的每个位置上的数字的特征,即:

第n行:第一个值是1,第二个值1*(n-1)/1,第三个值1*(n-1)*(n-2)/2,第四个数为1*(n-1)*(n-2)/2×(n-3)/3,...…依此类推,有了这样的规律就不难写出程序语言:tmp = tmp * (i - (j - 1)) / (j - 1)。

//不用数组
#include <stdio.h>
#include <assert.h>
#include <stdlib.h>
void YangHui0(const int n)
{int tmp = 0;for (int i = 1; i <= n; i++){for (int j = 1; j <= i; j++){if (j == 1)//第一个特殊处理,其他的用公式{tmp = 1;}else//公式第n行:第一个值是1,第二个值1*(n-1)/1,第三个值1*(n-1)*(n-2)/2,第四个数为1×(n-1)×(n-2)/2×(n-3)/3…依此类推{tmp = tmp * (i - (j - 1)) / (j - 1);//1 3 3 1}printf("%-5d", tmp);}printf("\n");}
}
int main()
{YangHui0(10);return 0;
}

调试结果为:

C语言杨辉三角(不用数组)相关推荐

  1. C语言杨辉三角(用二维数组)

    杨辉三角概述: 每行端点与结尾的数为1. 每个数等于它上方两数之和. 每行数字左右对称,由1开始逐渐变大. 第n行的数字有n项. 前n行共[(1+n)n]/2 个数. 第n行的m个数可表示为 C(n- ...

  2. C语言一维数组实现杨辉三角,一维数组实现杨辉三角

    杨辉三角 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

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

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

  4. C语言杨辉三角(两种方法)

    杨辉三角是我们从初中就知道的,现在,让我们用C语言将它在计算机上显示出来. 在初中,我们就知道,杨辉三角的两个腰边的数都是 1,其它位置的数都是上顶上两个数之和.这就是我们用C语言写杨辉三角的关键之一 ...

  5. C语言——杨辉三角(最佳算法)

    目录 方法一:一维数组,节约内存 方法二:(最佳算法⭐)递归函数法,程序最简,占用内存最少 运行结果: C语言输出杨辉三角形 等腰三角形 前言 杨辉三角形的特点: 第一列和对角线上的元素都为1: 除第 ...

  6. c语言杨辉三角求排列组合,杨辉三角(Pascal Triangle)的几种C语言实现及其复杂度分析...

    说明 本文给出杨辉三角的几种C语言实现,并简要分析典型方法的复杂度. 本文假定读者具备二项式定理.排列组合.求和等方面的数学知识. 一  基本概念 杨辉三角,又称贾宪三角.帕斯卡三角,是二项式系数在三 ...

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

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

  8. c语言杨辉三角形7行7liu,7. C语言杨辉三角(两种方法)

    杨辉三角是我们从初中就知道的,现在,让我们用C语言将它在计算机上显示出来. 在初中,我们就知道,杨辉三角的两个腰边的数都是 1,其它位置的数都是上顶上两个数之和.这就是我们用C语言写杨辉三角的关键之一 ...

  9. c语言杨辉三角的实现

    杨辉三角的规律:两边斜线数字都是1,其他数都是它肩上两数之和. 下面给出示例: #include<stdio.h> #include <string.h> #define k ...

最新文章

  1. Linux 工程师的6类好习惯和23个教训
  2. C++11学习之share_ptr和weak_ptr
  3. spring:《spring实战》读后感三
  4. HTTPS协议原理分析
  5. 干货总结:I2C总线详细要点
  6. mysql 生成时间轴,MYSQL 时间轴数据 获取同一天数据的前3条
  7. [react] react兄弟组件如何通信?
  8. linux mplayer_移植mplayer播放器到EK200开发板的步骤浅析
  9. SQL 死锁分析(转贴)
  10. Command line is too long. Shorten command line for Doc.generateAsciiDocs or
  11. img 显示默认图片,及动态赋值
  12. 【转载】规则化和模型选择(Regularization and model selection)
  13. 低价营销网站建设是陷阱,中小企业要谨记!
  14. 计算机网络中的mac全称,计算机网络中MAC地址与IP地址
  15. 深入机械制造业供应链关键节点,SCM供应链管理系统全面防控企业供应链风险
  16. java计算机毕业设计教务管理系统源码+mysql数据库+系统+lw文档+部署
  17. 良心到难以置信的网站推(转自b站up主lks)
  18. QQ连连看外挂核心算法(检测点对点)
  19. 电子商务网站设计中信息安全防御
  20. 软件工程项目:电梯调度

热门文章

  1. c#写一个识别扫描版pdf表格的程序,并把结果excel下载下来
  2. MQTT客户端(基于mosquitto)上报温度到华为云 ——DS18B20发布订阅温度(Linux C编程)
  3. 人证比对TCPSERVER
  4. 文献阅读:医学图像配准的深度学习方法综述
  5. 字幕自动匹配和修改工具
  6. Reac组件通讯二(兄弟组件传值)
  7. 3.1 定义图表类型----柱状图、线形图和堆积柱状图
  8. 倩女幽魂2首曝 揭秘网易新3D引擎光影特效
  9. 恭喜!1024博客专家TOP 50榜单出炉!
  10. 模拟CMOS集成电路设计入门学习(5)