C语言之基本算法31—杨辉三角

//二维数组!

/*

==================================================================

题目:打印杨辉三角

1

1   1

1   2   1

1   3   3   1

1   4   6   4   1

1   5  10  10   5   1

1   6  15  20  15   6   1

。。。。。。。。。。。。。。。

==================================================================

*/

#include<stdio.h>

#define N 100

void main()

{

int n,i,j,a[N][N];

printf("你想打印多少行?(100以内)\nn=");

scanf("%d",&n);

for(i=1;i<=n;i++)

{

a[i][1]=1;

a[i][i]=1;

}

for(i=3;i<=n;i++)

for(j=2;j<i;j++)

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

for(i=1;i<=n;i++)

{

for(j=1;j<=i;j++)

printf("%4d  ",a[i][j]);

printf("\n");

}

}

/*

====================================================================

评:关键在于想到用二维数组,N行N列!关系是:第1列为1,i行i列为1,每个数等于肩上

扛的两个数之和!这是一道基础题!

=====================================================================

*/

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-31 00:48:39

C语言之基本算法31—杨辉三角的相关文章

算法:杨辉三角(Pascal&#39;s Triangle)

一.杨辉三角介绍 杨辉三角形,又称帕斯卡三角形.贾宪三角形.海亚姆三角形.巴斯卡三角形,是二项式系数的一种写法,形似三角形,在中国首现于南宋杨辉的<详解九章算法>得名,书中杨辉说明是引自贾宪的<释锁算书>,故又名贾宪三角形.在那之前,还有更早发现这个三角的波斯数学家和天文学家,但相关的内容没有以图文保存下来,所以中国的数学家对此研究有很大贡献. 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 3

C语言用一维数组打印杨辉三角(原:无意中想到)

//求前10行的数 1 int a[11] = { 1 }; 2 a[0] = 1, a[1] = 1; 3 int i, j,m; 4 for (i = 2; i <= 11; i++) //2-11 输出10行 5 { 6 for (j = i - 1; j > 1; j--) //关键在这句,倒着求 7 { 8 a[j] = a[j] + a[j - 1]; 9 printf("%5d", a[j]); 10 } 11 printf("%5d\n"

C语言中数组使用:杨辉三角。

杨辉三角 /*#include<stdio.h> int main() { int i=0,j=0;     int  a[11][11]={0};     a[0][0]=1; for(i=1;i<=10;i++) { for(j=1;j<=i;j++) { a[i][j]=a[i-1][j-1]+a[i-1][j]; }  } for(i=1;i<=10;i++) { for(j=1;j<=i;j++) { printf("%4d",a[i][j

matlab算法之杨辉三角

% 帕斯卡三角形 % 杨辉三角,又名 贾宪三角形 global N; N=12; paint(); ---------------------------------------------------------- function []=paint() global N; N=12; for n=0:N; for r=0:n; if(r==0) for i=0:N-n fprintf('  '); end else fprintf('  '); end fprintf('%3d',combi

【算法】 杨辉三角

/// <summary> /// 递归方式 /// 思路:当前楼层是首尾为1,中间为上一楼层各相邻2元素相加之和的集合 /// </summary> /// <param name="n"></param> /// <returns></returns> public static List<int> Yh(int n) { CheckInt(n); var list = new List<in

用C语言编写杨辉三角

今天给大家带来用C语言在屏幕上输出杨辉三角 杨辉三角: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 思路:主要用到循环和数组的知识,今天就以for循环为例,给大家输出10行的杨辉三角.我们需要定义一个二维数组(a[][]),我们知道数组是从零开始的,所以第一行第一个是a[0][0],通过观察我们发现:第一列所有的数字都是1,即就是a[i][0]=1,i表示任何数字.我们还可以看出,当行数和列数相等时,该位的数字也为1,即就是a[i][i]=1,杨辉三角中间的数字规律是:从第三行开

杨辉三角(Pascal Triangle)的几种C语言实现及其复杂度分析

说明 本文给出杨辉三角的几种C语言实现,并简要分析典型方法的复杂度. 本文假定读者具备二项式定理.排列组合.求和等方面的数学知识. 一  基本概念 杨辉三角,又称贾宪三角.帕斯卡三角,是二项式系数在三角形中的一种几何排列.此处引用维基百科上的一张动态图以直观说明(原文链接http://zh.wikipedia.org/wiki/杨辉三角): 从上图可看出杨辉三角的几个显著特征: 1. 每行数值左右对称,且均为正整数. 2. 行数递增时,列数亦递增. 3. 除斜边上的1外,其余数值均等于其肩部两数

杨辉三角(C语言)

杨辉三角 杨辉三角,是二项式系数在三角形中的一种几何排列,中国南宋数学家杨辉1261年所著的<详解九章算法>一书中出现.在欧洲,帕斯卡(1623----1662)在1654年发现这一规律,所以这个表又叫做帕斯卡三角形.帕斯卡的发现比杨辉要迟393年,比贾宪迟600年. 如图: 它的规律是,除了每一行的第一个数和最后一个数,其余每个数等于上面两个数字值之和. C语言实现: #include <stdio.h> void yanghui(int number); int main(vo

js算法集合(二) javascript实现斐波那契数列 (兔子数列) Javascript实现杨辉三角

js算法集合(二)  斐波那契数列.杨辉三角 ★ 上一次我跟大家分享一下做水仙花数的算法的思路,并对其扩展到自幂数的算法,这次,我们来对斐波那契数列和杨辉三角进行研究,来加深对Javascript的理解. 一.Javascript实现斐波那契数列 ①要用Javascript实现斐波那契数列,我们首先要了解什么是斐波那契数列:斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为