• 正在加载中...
  • 杨辉三角形”是“杨辉三角”的同义词。

    杨辉三角

    杨辉三角形,又称贾宪三角形,帕斯卡三角形,是二项式系数在三角形中的一种几何排列。北宋人贾宪约1050年首先使用“贾宪三角”进行高次开方运算。杨辉,字谦光,南宋时期杭州人。在他1261年所著的《详解九章算法》一书中,辑录了如上所示的三角形数表,称之为“开方作法本源”图,并说明此表引自11世纪中叶(约公元1050年)贾宪的《释锁算术》,并绘画了“古法七乘方图”。故此,杨辉三角又被称为“贾宪三角”。

    编辑摘要

    基本信息 编辑信息模块

    中文名称: 杨辉三角 外文名: Pascal Triangle
    别称: 贾宪三角形、帕斯卡三角形 表达式: 几何
    提出者: 杨辉 提出时间: 约1050年
    应用学科: 数学,计算机 适用领域范围: 数学,计算机
    使用人群: 中学生、大学生、编程专家等

    目录

    名称来源/杨辉三角 编辑

    杨辉 ,字谦光,南宋时期杭州人。在他1261年所著的《详解九章算法》一书中,辑录了如上所示的数表,称之
    杨辉三角图杨辉三角图
    为“开方作法本源”图。同时,这也是多项式(a+b)^n 打开括号后的各个项的二次项系数 的规律。 因此,杨辉三角第x层第y项直接就是(y nCr x)。我们也不难得到,第x层的所有项的总和为2^(x-1) (即(a+b)^x中a,b都为1的时候) 。上述y^x 指y的x次方,(a nCr b) 指组合数。   

    而这样一个三角在我们的奥数竞赛中也是经常用到,最简单的就是要找规律。

    简介/杨辉三角 编辑

    简单的说,就是两个未知数和的幂次方运算后的系数问题,比如(x+y)²=x²+2xy+y²,这样系数就是1,2,1这就是杨辉三角的其中一行,立方四次方,运算的结果看看各项的系数,你就明白其中的道理了。  

    这就是杨辉三角,也叫贾宪三角,在外国被称为帕斯卡三角。他于我们现在的学习联系最紧密的是2项式乘方展开式的系数规律。如图,在贾宪三角中,第3行的第三个数恰好对应着两数和的平方公式(在此就不做说明了)依次下去。

    性质/杨辉三角 编辑

    杨辉三角最本质的特征是,它的两条斜边都是由数字1组成的,而其余的数则是等于它肩上的两个数之和。

    其实,中国古代数学家在数学的许多重要领域中处于遥遥领先的地位。中国古代数学史曾经有自己光辉灿烂的篇章,而杨辉三角的发现就是十分精彩的一页。杨辉,字谦光,北宋时期杭州人。在他1261年所著的《详解九章算法》一书中,辑录了如上所示的三角形数表,称之为“开方作法本源”图。而这样一个三角在我们的奥数竞赛中也是经常用到,最简单的就是叫你找规律。现在要求我们用编程的方法输出这样的数表。

    规律/杨辉三角 编辑

    这也是多项式(a+b)^n打开括号后的各个项的二次项系数的律规

    0(a+b)^0(0nCr0)

    1(a+b)^1(1nCr0)(1nCr1)

    2(a+b)^2(2nCr0)(2nCr1)(2nCr2)

    3(a+b)^3(3nCr0)(3nCr1)(3nCr2)(3nCr3)

    ................

    因此杨辉三角第x层第y项直接就是(ynCrx)

    我们也不难得到第x层的所有项的总和为2^x(即(a+b)^x中a,b都为1的时候)

    [上述y^x指y的x次方;(anCrb)指组合数]

    其实,中国古代数学家在数学的许多重要领域中处于遥遥领先的地位。中国古代数学史曾经有自己光辉灿烂的篇章,而杨辉三角的发现就是十分精彩的一页。

    数字表示/杨辉三角 编辑

    杨辉三角是一个由数字排列成的三角形数表,一般形式如下:
    1n=0
    11n=1
    121n=2
    1331n=3
    14641n=4
    15101051n=5
    1615201561n=6[1]

    与二项式定理的关系/杨辉三角 编辑

    杨辉三角的第n行就是二项式展开式的系数列。
    对称性:杨辉三角中的数字左、右对称,对称轴是杨辉三角形底边上的“高”。
    结构特征:杨辉三角除斜边上1以外的各数,都等于它“肩上”的两数之和。
    这些数排列的形状像等腰三角形,两腰上的数都是1。
    从右往左斜着看,从左往右斜着看,和前面的看法一样,这个数列是左右对称的。
    上面两个数之和就是下面的一行的数。
    这行数是第几行,就是第二个数加一。

    实际操作运用范例/杨辉三角 编辑

    这是“杨辉三角”的格式对于杨辉三角,很多初中生,甚至很多高中生只知道此三角中的某数等于它上排相邻两数之和,而忽视了杨辉三角的实际运用。
    不难发现,除了上述特点外,杨辉三角还有另一个特点:
    此数列中各行中的数字正好是二项式a+b乘方后,展开始终各项的系数。如:
    (a+b)^1=a^1+b^1
    (a+b)^2=a^2+2ab+b^2
    (a+b)^3=a^3+3a^2b+3ab^2+b^3
    ……
    (a+b)^6=a^6+6a^5b+15a^4b^2+20a^3b^3+15a^2b^4+6ab^5+b^6(注意发现规律)
    ……
    如此一来,对于普通考试中所出现的高系数运算的展开运算,我们就不必因怕运算出错而担忧了。但这只是类似公式的技法,想要运算能力增强,还是一个一个拆着练吧。
    另外,文章开头提到的“贾宪三角”和“杨辉三角”是有区别的。只需将杨辉三角顺时针旋转90度,便得到贾宪三角,如下:
    11111111
    7654321
    211510631
    35201041
    351551
    2161
    71
    1
    这些数列,能有效地运用于解数字系数的高次方程。无论是在几何、代数还是三角函数中,上述方法都能不同程度的提高解题效率。
    [编辑本段]杨辉三角的前50行
    第0行:
    1
    第1行:
    11
    第2行:
    121
    第3行:
    1331
    第4行:
    14641
    第5行:
    15101051
    第6行:
    1615201561
    第7行:
    172135352171
    第8行:
    18285670562881
    第9行:
    193684126126843691
    第10行:
    1104512021025221012045101
    第11行:
    1115516533046246233016555111
    第12行:
    1126622049579292479249522066121
    第13行:
    11378286715128717161716128771528678131
    第14行:
    11491364100120023003343230032002100136491141
    第15行:
    11510545513653003500564356435500530031365455105151
    第16行:
    116120560182043688008114401287011440800843681820560120161
    第17行:
    1171366802380618812376194482431024310194481237661882380680136171
    第18行:
    118153816306085681856431824437584862043758318241856485683060816153181
    第19行:
    1191719693876116282713250388755829237892378755825038827132116283876969171191
    第20行:
    1201901140484515504387607752012597016796018475616796012597077520387601550448451140190201
    第21行:
    121210133059852034954264116280203490293930352716352716293930203490116280542642034959851330210211
    第22行:
    122231154073152633474613170544319770497420646646705432646646497420319770170544746132633473151540231221
    第23行:
    123253177188553364910094724515749031481719011440661352078135207811440668171904903142451571009473364988551771253231
    第24行:
    12427620241062642504134596346104735471130750419612562496144270415624961441961256130750473547134610413459642504106262024276241
    第25行:
    12530023001265053130177100480700108157520429753268760445740052003005200300445740032687602042975108157548070017710053130126502300300251
    第26行:
    1263252600149506578023023065780015622753124550531173577261609657700104006009657700772616053117353124550156227565780023023065780149502600325261
    第27行:
    1273512925175508073029601088803022200754686825843628513037895173838602005830020058300173838601303789584362854686825222007588803029601080730175502925351271
    第28行:
    1283783276204759828037674011840403108105690690013123110214741803042175537442160401166003744216030421755214741801312311069069003108105118404037674098280204753276378281
    第29行:
    1294063654237511187554750201560780429214510015005200300103459729051895935678639157755876077558760678639155189593534597290200300101001500542921451560780475020118755237513654406291
    第30行:
    13043540602740514250659377520358005852925143071503004501554627300864932251197598501454226751551175201454226751197598508649322554627300300450151430715058529252035800593775142506274054060435301
    第31行:
    1314654495314651699117362812629575788872520160075443521658467231514112052520625307526518252530054019530054019526518252520625307514112052584672315443521652016007578887252629575736281169911314654495465311
    第32行:
    13249649603596020137690619233658561051830028048800645122401290244802257928403473736004714356005657227206010803905657227204714356003473736002257928401290244806451224028048800105183003365856906192201376359604960496321
    第33行:
    13352854564092023733611075684272048138841563856710092561040193536720354817320573166440818809200103715832011668031101166803110103715832081880920057316644035481732019353672092561040385671001388415642720481107568237336409205456528331
    第34行:
    1345615984463762782561344904537961618156204524512561311281402860977605483540409279837601391975640185596752022039614302333606220220396143018559675201391975640927983760548354040286097760131128140524512561815620453796161344904278256463765984561341
    第35行:
    1355956545523603246321623160672452023535820706074601835793964172259008344518001476337800231995940032479431604059928950453756765045375676504059928950324794316023199594001476337800834451800417225900183579396706074602353582067245201623160324632523606545595351
    第36行:
    1366307140589053769921947792834768030260340941432802541868566008052961251677700231078960037962972005567902560730787211085974966009075135300859749660073078721105567902560379629720023107896001251677700600805296254186856941432803026034083476801947792376992589057140630361
    第37行:
    137666777066045435897232478410295472386080201244036203483301368549921521852482996356246730061070868009364199760128757746701590536871017672631900176726319001590536871012875774670936419976061070868003562467300185248299685499215234833013612440362038608020102954722324784435897660457770666371
    第38行:138703843673815501942276068112620256489034921630116404727337561203322288270747514854149502969669554100154712865602223997443028781143380335780006103534526380033578000610287811433802223997443015471286560966955410054149502962707475148120332228847273375616301164048903492126202562760681501942738158436703381
    第39行:
    1397419139822515757573262623153809376152374821191513263574539616760560443910797436812242544415084504396251408406603771126099051021117810623591439906892326441068923264410623591439905102111781037711260990251408406601508450439681224254443910797436167605604463574539621191513261523748153809373262623575757822519139741391
    第40行:
    1407809880913906580083838380186435607690468527343888084766052823118014405586853480120332228802320692984040225345056628521016508873237880011338026180013128240840013784652882013128240840011338026180088732378800628521016504022534505623206929840120332228805586853480231180144084766052827343888076904685186435603838380658008913909880780401
    第41行:
    14182010660101270749398449638822481940955482453503435651121099408315946196878986549201762007636035240152720634322748961030774467061515844804502021126406002446626702002691289372202691289372202446626702002021126406001515844804501030774467066343227489635240152720176200763607898654920315946196811210994083503435659554824522481940449638874939810127010660820411
    第42行:
    142861114801119308506685245786269783281180301854458918101471442973428056137611058116888255187312805286022908098672427616166509721602254661927156353697121050446775310800513791607420538257874440513791607420446775310800353697121050254661927156166509721602986724276165286022908025518731280110581168884280561376147144297344589181011803018526978328524578685066811193011480
    861421
    第43行:
    1439031234112341096259860964543222411414500851356392199519173347835752004349153386782643657684816878378960360151532656696265182149218421171648758608359048206800472431850960566918220105204948186010520494818609605669182208004724318506083590482064211716487582651821492181515326566967837896036036576848168153386782645752004349191733478356392199514500851332224114609645496259812341012341903431
    第44行:
    144946132441357511086008705905238320568177232627708930508248125677876693391322109068261351915526432114955808528229911617056416714805914686353797976102953069696414088314800561761039350070201261640008021040989637202012616400080176103935007014088314800561029530696964686353797976416714805914229911617056114955808528519155264322109068261376693391322481256778708930508177232627383205687059052108600813575113244946441
    第45行:
    14599014190148995122175981450604537962021555319588616313531901872861015059591028760021745730062090451668713349603448674255846466264229701103068603890171588449494024383621770203169870830126377365575015041167153638004116715363800377365575015031698708301262438362177020171588449494011030686038906466264229703448674255841668713349607300620904528760021745101505959103190187286886163135215553195453796208145060122175914899514190990451
    第46行:
    146103515180163185137075493668195352468026093281511017163304076350421133407831963891061765510176623079023987754400551173876054499149384855417496950268602818953098830415424667196056082330071466943526580276789037111395082334307276007890371113950694352658027656082330071464154246671960281895309883017496950268609914938485545117387605442398775440051017662307903891061765513340783196407635042111017163302609328155352468093668191370754163185151801035461
    第47行:
    14710811621517836515339391073757362891499314457495136264914551780667511741713361752251400851140676848445341643774795751616304549150323260909827411888754144568648125690697319977079097624796791061255175958742214833897694226161238018415501612380184155014833897694226125517595874229762479679106697319977079045686481256902741188875414150323260909875161630454934164377479514067684844552251400851174171336175178066751136264914531445749562891499107375731533939178365162151081471
    第48行:
    14811281729619458017123041227151273629072377348994167710664065407158962259520036869668534468192928249296482320623240109326007934422548489136474244421484512730983700110411541847896480167356794498962231423926652827385657281648309576995357763224760368310030957699535776273856572816482231423926652816735679449896115418478964807309837001104424442148451222548489136471093260079344482320623240192928249296696685344682259520036865407158961677106640377348994
    73629072122715121712304194580172961128481
    第49行:
    14911761842421187619068841398381685900584450978066205445563482178225362913591626492263734836262596783764675248872536157558070258433481089929916499270398159115542584856161885168489758428277527346376390499187164244969989654817658343356817424632053032188766320530321887658343356817424496998965481763904991871642428277527346376188516848975841155425848561664992703981593348108992991157558070258467524887253626259678376492263734836291359162648217822536205445563445097806685900584139838161906884211876184241176491[2]

    历史发展/杨辉三角 编辑

    北宋贾宪约1050年首先使用“贾宪三角”进行高次开方运算。  

    13世纪中国宋代数学家杨辉在《详解九章算术》里讨论这种形式的数表,并说明此表引自11世纪前半贾宪的《释锁算术》,并绘画了“古法七乘方图”。故此,杨辉三角又被称为“贾宪三角”。  

    元朝数学家朱世杰在《四元玉鉴》(1303年)扩充了“贾宪三角”成“古法七乘方图”。  

    意大利人称之为“塔塔利亚三角形”(TriangolodiTartaglia)以纪念在16世纪发现一元三次方程解的塔塔利亚。  

    在欧洲直到1623年以后,法国数学家帕斯卡在13岁时发现了“帕斯卡三角”。  

    布莱士·帕斯卡的著作Traitédutrianglearithmétique(1655年)介绍了这个三角形。帕斯卡搜集了几个关于它的结果,并以此解决一些概率论上的问题,影响面广泛,PierreRaymonddeMontmort(1708年)和亚伯拉罕·棣·美弗(1730年)都用帕斯卡来称呼这个三角形。  

    近年来国外也逐渐承认这项成果属于中国,所以有些书上称这是“中国三角形”(Chinesetriangle)  

    历史上曾经独立绘制过这种图表的数学家   

    ·贾宪 中国北宋 11世纪 《释锁算术》

    ·杨辉 中国南宋1261《详解九章算法》记载之功

    ·朱世杰中国元代 1299《四元玉鉴》级数求和公式

    ·阿尔·卡西 阿拉伯 1427《算术的钥匙》

    ·阿皮亚纳斯德国 1527

    ·米歇尔`斯蒂费尔德国 1544《综合算术》二项式展开式系数

    ·薛贝尔 法国 1545

    ·B·帕斯卡 法国 1654《论算术三角形》

    其实,中国古代数学家在数学的许多重要领域中处于遥遥领先的地位。中国古代数学史曾经有自己光辉灿烂的篇章,而杨辉三角的发现就是十分精彩的一页。

    贾宪/杨辉三角 编辑

    中国北宋11世纪《释锁算术》

    贾宪最著名的数学成就,是他创制了一幅数字图式,即“开方作法本源图”(见下图)。这幅图现见于杨辉的书中,但杨辉在引用了这幅图后特意说明:“贾宪用此术”。所以过去我国数学界把这幅图称为“杨辉三角”,实际上是不妥当的,应该称为“贾宪三角”才最为恰当。由于史书没有贾宪的传记,幸亏南宋数学家杨辉在他的书中引述了贾宪的许多数学思想资料,才使我们今天得以了解贾宪在数学上的重大贡献。 

    图形图形

    ·杨辉中国南宋1261《详解九章算法》记载之功  

    ·朱世杰中国元代1299《四元玉鉴》级数求和公式  

    ·阿尔·卡西阿拉伯1427《算术的钥匙》  

    ·阿皮亚纳斯德国1527  

    ·施蒂费尔德国1544《综合算术》二项式展开式系数  

    ·薛贝尔法国1545  

    ·B·帕斯卡法国1654《论算术三角形》  

    杨辉三角的三个基本性质主要是二项展开式的二项式系数即组合数的性质,它是研究杨辉三角其他规律的基础。杨辉三角横行的数字规律主要包括横行各数之间的大小关系。组合关系以及不同横行数字之间的联系。 

    C#输出/杨辉三角 编辑

    classProgram
    {

    publicvoidyanghui(intvalue)
    {
    if(value<3)
    {
    Console.WriteLine("请重新输入数组大于3的值!");
    }
    else
    {
    int[,]arry=newint[value,value];
    Console.WriteLine("数组为:");
    for(inti=0;i<value;i++)
    {
    stringstr="";
    str=str.PadLeft(value-i);
    Console.Write(str);
    for(intj=0;j<=i;j++)
    {
    if(i==j||j==0)
    {
    arry[i,j]=1;
    }
    else
    {
    arry[i,j]=arry[i-1,j-1]+arry[i-1,j];
    }
    Console.Write(arry[i,j]+"");
    }
    Console.WriteLine();
    }
    }
    }

    staticvoidMain(string[]args)
    {
    Programp=newProgram();
    Console.WriteLine("请输入数组值:");
    stringstr_name=Console.ReadLine();
    intvalue=Convert.ToInt16(str_name);
    p.yanghui(value);
    Console.Readkey();
    }

    }

    C语言输出杨辉三角/杨辉三角 编辑

    classProgram
    {

    publicvoidyanghui(intvalue)
    {
    if(value<3)
    {
    Console.WriteLine("请重新输入数组大于3的值!");
    }
    else
    {
    int[,]arry=newint[value,value];
    Console.WriteLine("数组为:");
    for(inti=0;i<value;i++)
    {
    stringstr="";
    str=str.PadLeft(value-i);
    Console.Write(str);
    for(intj=0;j<=i;j++)
    {
    if(i==j||j==0)
    {
    arry[i,j]=1;
    }
    else
    {
    arry[i,j]=arry[i-1,j-1]+arry[i-1,j];
    }
    Console.Write(arry[i,j]+"");
    }
    Console.WriteLine();
    }
    }
    }

    staticvoidMain(string[]args)
    {
    Programp=newProgram();
    Console.WriteLine("请输入数组值:");
    stringstr_name=Console.ReadLine();
    intvalue=Convert.ToInt16(str_name);
    p.yanghui(value);
    Console.Readkey();
    }

    }

    金字塔杨三角
    金字塔杨三角金字塔杨三角


    #include<stdio.h>intmain(){
    inta[10][10],i,j;
    for(i=0;i<10;i++){
    for(j=10;j>=i;j--)
    printf("%2c",'');/*两个空格*/
    for(j=0;j<=i;j++){
    if(i==j||j==0)
    a[i][j]=1;
    else
    a[i][j]=a[i-1][j]+a[i-1][j-1];
    printf("%3d",a[i][j]);/*%3d后一个空格*/
    if(i==j)
    printf("\n");
    }
    }
    return0;
    }
    二维数组输出前十行
    1
    2

    #include<stdio.h>intmain(){inta[10][10],i,j;for(i=0;i<10;i++){a[i][i]=1;a[i][0]=1;}for(i=2;i<10;i++)for(j=1;j<=i-1;j++)a[i][j]=a[i-1][j-1]+a[i-1][j];for(i=0;i<10;i++){for(j=0;j<=i;j++)printf("%6d",a[i][j]);printf("\n");}printf("\n");return0;}菱形杨三角
    #include<stdio.h>intmain(void){inti,j;inta[6][6];//该程序输出为6层,可根据需要更改数组大小printf("\n\n\n");for(i=0;i<6;i++)for(j=0;j<=i;j++){if(j==0||j==i)a[i][j]=1;elsea[i][j]=a[i-1][j-1]+a[i-1][j];}for(i=0;i<6;i++){for(j=0;j<=6-i;j++)printf("%2c",'');for(j=0;j<=i;j++)printf("%4d",a[i][j]);printf("\n");}for(i=4;i>=0;i--){for(j=0;j<=6-i;j++)printf("%2c",'');for(j=0;j<=i;j++)printf("%4d",a[i][j]);printf("\n");}return0;}
    运行结果
    队列输出
    1
    2

    #include<stdio.h>#include<stdlib.h>#defineERROR0#defineOK1#defineOVERFLOW-1#defineMAX_QUEUE100typedefintDataType;typedefstruct{DataTypeelem[MAX_QUEUE];intfront;intrear;}LinkQueue;intInitQueue(LinkQueue*);voidEnQueue(LinkQueue*,DataType);voidDeQueue(LinkQueue*,DataType*);voidGetFront(LinkQueue,DataType*);intQueueEmpty(LinkQueue);voidYangHuiTriangle(int);intmain(void){intn=1;printf("pleaseenteranumber:");scanf("%d",&n);if(n<=0){printf("ERROR!\n");exit(0);}YangHuiTriangle(n);return0;}intInitQueue(LinkQueue*Q){Q->front=Q->rear=-1;return1;}voidEnQueue(LinkQueue*Q,DataTypee){if((Q->rear+1)%MAX_QUEUE==Q->front)exit(OVERFLOW);else{Q->rear=(Q->rear+1)%MAX_QUEUE;Q->elem[Q->rear]=e;}}voidDeQueue(LinkQueue*Q,DataType*e){if(QueueEmpty(*Q)){printf("queueisempty\n");exit(0);}else{Q->front=(Q->front+1)%MAX_QUEUE;*e=Q->elem[Q->front];}}voidGetFront(LinkQueueQ,DataType*e){if(QueueEmpty(Q)){printf("queueisempty\n");exit(0);}else*e=Q.elem[(Q.front+1)%MAX_QUEUE];}intQueueEmpty(LinkQueueQ){if(Q.front==Q.rear)return1;elsereturn0;}voidYangHuiTriangle(intn){LinkQueueQ;inti,j,k,t,s,e;InitQueue(&Q);for(i=0;i<n;i++)printf("");printf("1\n");EnQueue(&Q,1);EnQueue(&Q,1);for(i=1;i<n;i++){for(k=0;k<n-i;k++)printf("");EnQueue(&Q,1);for(j=0;j<i;j++){DeQueue(&Q,&t);printf("%3d",t);GetFront(Q,&s);e=t+s;EnQueue(&Q,e);}EnQueue(&Q,1);DeQueue(&Q,&t);printf("%d\n",t);}}VB输出
    PrivateSubForm_click()n=Val(Text1.Text)ReDima(n+1,n+1),b(n+1,n+1)Clsk=8Fori=1TonPrintString((n-i)*k/2+1,"");Forj=1Toia(i,1)=1a(i,i)=1a(i+1,j+1)=a(i,j)+a(i,j+1)b(i,j)=Trim(Str(a(i,j)))Printb(i,j);String(k-Len(b(i,j)),"");NextjPrintNextiEndSub
    创建一个text和command,在text中输入所需行数,点击command即可。一个数在杨辉三角出现的次数 由1开始,正整数在杨辉三角形出现的次数为∞:1,2,2,2,3,2,2,2,4,2,2,2,2,4,...(OEIS:A003016)。最小而又大于1的数在贾宪三角形至少出现n次的数为2,3,6,10,120,120,3003,3003,...(OEIS:A062527)
    除了1之外,所有正整数都出现有限次。
    只有2出现刚好一次。
    6,20,70等出现三次。
    出现两次和四次的数很多。
    还未能找到出现刚好五次的数。
    120,210,1540等出现刚好六次。(OEIS:A098565)
    因为丢番图方程:
    有无穷个解,所以出现至少六次的数有无穷个多。
    其解答,是


    其中Fn表示第n个斐波那契数(F1=F2=1)。
    3003是第一个出现八次的数。
    一道NOIP杨辉三角题目:
    #include<stdio.h>#definemaxn50constinty=2009;intmain(){intn,c[maxn][maxn],i,j,s=0;scanf("%d",&n);c[0][0]=1;for(i=1;i<=n;i++){c[i][0]=1;for(j=1;j<i;j++)c[i][j]=c[i-1][j-1]+c[i-1][j];c[i][i]=1;}for(i=0;i<=n;i++)s=(s+c[n][i])%y;printf("%d\n",s);return0;}
    此为利用数组求和

    JAVA输出杨辉三角/杨辉三角 编辑

    代码:

    importjava.util.Scanner;
    publicclassTriangleYH{
    publicstaticvoidmain(String[]args){
    Scannersuin=newScanner(System.in);
    System.out.println("请输入一个大于3的数:");
    intn=suin.nextInt()+1;//这里如果不+1,那么输出的结果少了一行,+1则全部输出。
    intyh[][]=newint[n][n];
    if(n<3)System.out.println("输入错误");
    for(inti=1;i<n;i++){
    yh[i][0]=1;//始终输出第一行和最后一行的1.
    for(intj=1;j<i;j++){
    yh[i][j]=yh[i-1][j-1]+yh[i-1][j];//计算其它行的数字,并存入数组。
    }
    }
    for(intk=0;k<n;k++){
    for(intt=0;t<k;t++){
    System.out.print(yh[k][t]+"");
    }
    System.out.println();
    }
    }
    }

    结果:

    SQL输出/杨辉三角 编辑

    --返回某一数的阶乘值createfunctionJi(@countint)returnsintasbegindeclare@uint,@indexintset@u=1--初使值为1set@index=1while(@index<=@count)beginset@u=@u*@indexset@index=@index+1endreturn(@u)endcreatefunctionVa(@numint,@countint)returnsintasbegindeclare@upint,@L1int,@R1int,@Iintset@up=dbo.Ji(@count)set@L1=dbo.Ji(@num)set@R1=dbo.Ji(@count-@num)set@I=@up/(@L1*@R1)return(@I)endcreatefunctionPrintRow(@numint)returnsnvarchar(100)asbegindeclare@iintdeclare@strnvarchar(100)set@str='';set@i=1while(@i<@num)beginset@str=@str+replace(str(dbo.Va(@i,@num)),'','')+','set@i=@i+1endreturn(@str)endcreateprocPrintJiCeng(@numint)asbegindeclare@iintset@i=1while(@i<=@num)beginif(@i=0)print1+','elseif(@i=1)print'1,1,'elseprint'1,'+dbo.PrintRow(@i)+'1,'set@i=@i+1endend--计算10以内的扬辉三角execPrintJiCeng10PHP输出<?php$row=20;//所要输出的行号for($i=0;$i<$row;$i++){for($j=0;$j<=$i;$j++){if($j==0||$i==$j){print$a[$i][$j]=1;}else{print$a[$i][$j]=$a[$i-1][$j-1]+$a[$i-1][$j];}print'&bnsp;&bnsp;';}print"<br/>";}?>C++输出直角三角形//单数组动态规划输出杨辉三角,以下截止第31行#include<iostream>usingnamespacestd;#defineMAXH31intmain(){inti,j;unsignedlongnum[MAXH]={0};num[0]=1;for(i=0;i<MAXH;i++){for(j=i;j>0;j--){num[j]=num[j]+num[j-1];//A[i,j]=A[i,j-1]+A[i,j]cout<<num[j]<<"";}cout<<"1"<<endl;}return0;}直角三角形#include<iostream>usingnamespacestd;intmain(){inth,i,j;cout<<"请输入杨辉三角的高度:"<<endl;cin>>h;inta[10][10];for(i=0;i<10;i++){a[i][i]=1;a[i][0]=1;}for(i=2;i<10;i++)for(j=1;j<=i-1;j++)a[i][j]=a[i-1][j-1]+a[i-1][j];for(i=0;i<=h;i++){for(j=0;j<=i;j++)cout<<a[i][j]<<'\t';cout<<endl;}return0;}等腰三角形#include<iostream>usingnamespacestd;intmain(){inti,j,h,a[10][10];cout<<"请输入杨辉三角的高度:"<<endl;cin>>h;for(i=0;i<=h;i++){for(j=0;j<=i;j++){if(i==j||j==0)a[i][j]=1;elsea[i][j]=a[i-1][j]+a[i-1][j-1];}}for(i=0;i<=h;i++){for(j=h;j>=i;j--)cout<<"";for(j=0;j<=i;j++){cout<<a[i][j]<<'\t';if(i==j)cout<<endl;}}return0;}直角三角形#include<iostream>usingnamespacestd;intcomputeTriangleElement(intlevel,intindex){if(index==1||index==level)return1;returncomputeTriangleElement(level-1,index-1)+computeTriangleElement(level-1,index);}voidyanghuiTriangle(intlevel){for(inti=1;i<=level;i++){for(intj=1;j<=i;j++){cout<<computeTriangleElement(i,j)<<'';}cout<<endl;}}intmain(){intlevel;cout<<"请输入杨辉三角的高度:"<<endl;cin>>level;yanghuiTriangle(level);return0;}易语言输出
    来自易语言自带的例子。
    以下为全文。
    .版本2
    .程序集启动窗口程序集
    .程序集变量帕斯卡三角阶数,整数型,,,帕斯卡三角行数
    .程序集变量帕斯卡三角,文本型,,,形成的帕斯卡三角
    .子程序__启动窗口_创建完毕
    '使用算法:递归调用
    '问题:求帕斯卡(杨辉)三角
    '问题描述:取N阶的帕斯卡(杨辉)三角并显示
    '问题分析:
    ' 运用递归的方法取N层帕斯卡三角,并显示。三角形边界上的数都是1,内部的每个数是位于它上面的两个数之和。
    ' 三角形边界上的数都是1,内部的每个数是位于它上面的两个数之和。假设f(row,col)表示杨辉三角的第row行的第col个元素,那么:f(row,col)=1(col=1或者row=col),也就是递归的停止条件。f(row,col)=f(row-1,col-1)+f(row-1,col),也就是上一行的两个相邻元素的和。递归调用求解。
    '备注:
    .子程序_计算图形按钮_被单击
    .局部变量行数,整数型,,,帕斯卡三角行数
    .局部变量列数,整数型,,,帕斯卡三角列数
    .局部变量询问返回,整数型,,,信息框返回的结果
    编辑框2.内容=“”
    帕斯卡三角=“”
    '判断输入的值
    .判断开始(编辑框1.内容=“”)
    信息框(“输入错误!”,0,)
    '当数值过大时,给出提示
    .判断(到数值(编辑框1.内容)>20)
    询问返回=信息框(“您输入的数值过大,处理数据时程序将会有一段时间无响应,是否继续?”,#是否钮+#询问图标,“请问:”)
    .如果真(询问返回=#是钮)
    '如果确定,调用求帕斯卡三角
    求帕斯卡三角()
    .如果真结束
    '数据较小时调用求帕斯卡三角
    .判断(编辑框1.内容≠“”且到数值(编辑框1.内容)≤20)
    求帕斯卡三角()
    .默认
    .判断结束
    .子程序求帕斯卡三角
    .局部变量行数,整数型,,,帕斯卡三角行数
    .局部变量列数,整数型,,,帕斯卡三角列数
    '要求的帕斯卡三角的总行数
    帕斯卡三角阶数=到数值(编辑框1.内容)-1
    .变量循环首(0,帕斯卡三角阶数,1,行数)
    .变量循环首(0,行数,1,列数)
    '取帕斯卡三角元素放到当前行里
    帕斯卡三角=帕斯卡三角+到文本(取帕斯卡三角元素(行数+1,列数+1))+“,”
    .变量循环尾()
    帕斯卡三角=取文本左边(帕斯卡三角,取文本长度(帕斯卡三角)-1)+#换行符
    '没层需去尾都好加换行符
    .变量循环尾()
    '显示结果
    编辑框2.内容=帕斯卡三角
    .子程序取帕斯卡三角元素,整数型,,取帕斯卡三角中元素的子程序
    .参数行数,整数型,,帕斯卡三角行数
    .参数列数,整数型,,帕斯卡三角列数
    .如果(列数=1或行数=列数)
    '每行的外围两个元素为1
    返回(1)
    .否则
    '其余的部分为上一行的(行数-1)和(行数)元素之和
    返回(取帕斯卡三角元素(行数-1,列数-1)+取帕斯卡三角元素(行数-1,列数))
    .如果结束

    PHP输出/杨辉三角 编辑

    <?php
    header("Content-Type:text/html;charset=UTF-8");
    functionyhsj($ln)
    {
    $int=1;
    if($ln<3)
    {
    die('请输入大于2的值!');
    }
    $arr=array();
    $arr[1][1]=$int;
    $ints=str_pad("&nbsp;",($ln-1)*12,"&nbsp;");
    echo$ints.$int."<br/>";
    for($i=2;$i<=$ln;$i++)
    {
    for($j=1;$j<=$i;$j++)
    {
    if($j==1)
    {
    echostr_pad("&nbsp;",($ln-$i)*12,"&nbsp;");
    }
    echo$arr[$i][$j]=$arr[$i-1][$j]+$arr[$i-1][$j-1];
    echo"&nbsp;&nbsp;";
    }
    echo"<br/>";
    }

    }
    yhsj(3);
    ?>

    相关文献

    添加视频 | 添加图册相关影像

    参考资料
    [1]^引用日期:2011-06-18
    [2]^引用日期:2011-06-18

    互动百科的词条(含所附图片)系由网友上传,如果涉嫌侵权,请与客服联系,我们将按照法律之相关规定及时进行处理。未经许可,禁止商业网站等复制、抓取本站内容;合理使用者,请注明来源于www.baike.com。

    登录后使用互动百科的服务,将会得到个性化的提示和帮助,还有机会和专业认证智愿者沟通。

    互动百科用户登录注册
    此词条还可添加  信息模块

    WIKI热度

    1. 编辑次数:21次 历史版本
    2. 参与编辑人数:14
    3. 最近更新时间:2019-06-24 11:31:31