#include stdio.h
創(chuàng)新互聯(lián)建站專(zhuān)注于洛浦網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供洛浦營(yíng)銷(xiāo)型網(wǎng)站建設(shè),洛浦網(wǎng)站制作、洛浦網(wǎng)頁(yè)設(shè)計(jì)、洛浦網(wǎng)站官網(wǎng)定制、小程序開(kāi)發(fā)服務(wù),打造洛浦網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供洛浦網(wǎng)站排名全網(wǎng)營(yíng)銷(xiāo)落地服務(wù)。
void main()
{
void f(int n);
int n=0;
while(n1 || n16)
{
printf("請(qǐng)輸入楊輝三角形的行數(shù):");
scanf("%d",n);
}
f(n);
}
void f(int n)
{
int i,j,a[17][17]={0};
for(i=0;in;i++)
a[i][0]=1;
for(i=1;in;i++)
for(j=1;j=i;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=0;in;i++)
{
for(j=0;j=i;j++)
printf("%5d",a[i][j]);
printf("\n");
}
}
程序:
#includestdio.h
int main()
int n,i,j,a[100];
n=10;
printf("? 1");
printf("\n");
a[1]=a[2]=1;
printf("%3d%3d\n",a[1],a[2]);
for(i=3;i=n;i++)
{
a[1]=a[i]=1;
for(j=i-1;j1;j--)
a[j]=a[j]+a[j-1];
for(j=1;j=i;j++)
printf("%3d",a[j]);
printf("\n");
}
return 0;
}
應(yīng)用
與楊輝三角聯(lián)系最緊密的是二項(xiàng)式乘方展開(kāi)式的系數(shù)規(guī)律,即二項(xiàng)式定理。例如在楊輝三角中,第3行的三個(gè)數(shù)恰好對(duì)應(yīng)著兩數(shù)和的平方的展開(kāi)式的每一項(xiàng)的系數(shù)(性質(zhì) 8),第4行的四個(gè)數(shù)恰好依次對(duì)應(yīng)兩數(shù)和的立方的展開(kāi)式的每一項(xiàng)的系數(shù)。
以上內(nèi)容參考:百度百科-楊輝三角
修改:#include"stdio.h"?
void main()
{
int a[10][10],i,j;
for(i=0;i=9;i++){
a[i][0]=1;//原代碼此處需修改,第一位數(shù)為1
a[i][i]=1;
}
for(i=1;i=9;i++)
for(j=1;ji;j++)//原代碼此處需修改
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=0;i=9;i++){
for(j=0;j=i;j++){printf("%5d\t",a[i][j]);}
printf("\n");
}return 0;}
擴(kuò)展資料:
楊輝三角概述:
1.每個(gè)數(shù)等于它上方兩數(shù)之和。
2.每行數(shù)字左右對(duì)稱(chēng),由1開(kāi)始逐漸變大。
3.第n行的數(shù)字有n+1項(xiàng)。
4.第n行數(shù)字和為2n。
5.第n行的m個(gè)數(shù)可表示為?C(n-1,m-1),即為從n-1個(gè)不同元素中取m-1個(gè)元素的組合數(shù)。
6.第n行的第m個(gè)數(shù)和第n-m+1個(gè)數(shù)相等 ,為組合數(shù)性質(zhì)之一。
7.每個(gè)數(shù)字等于上一行的左右兩個(gè)數(shù)字之和??捎么诵再|(zhì)寫(xiě)出整個(gè)楊輝三角。即第n+1行的第i個(gè)數(shù)等于第n行的第i-1個(gè)數(shù)和第i個(gè)數(shù)之和,這也是組合數(shù)的性質(zhì)之一。即?C(n+1,i)=C(n,i)+C(n,i-1)。
8.(a+b)n的展開(kāi)式中的各項(xiàng)系數(shù)依次對(duì)應(yīng)楊輝三角的第(n+1)行中的每一項(xiàng)。
9.將第2n+1行第1個(gè)數(shù),跟第2n+2行第3個(gè)數(shù)、第2n+3行第5個(gè)數(shù)……連成一線(xiàn),這些數(shù)的和是第4n+1個(gè)斐波那契數(shù);將第2n行第2個(gè)數(shù)(n1),跟第2n-1行第4個(gè)數(shù)、第2n-2行第6個(gè)數(shù)……這些數(shù)之和是第4n-2個(gè)斐波那契數(shù)。
10將各行數(shù)字相排列,可得11的n-1(n為行數(shù))次方:1=11^0; 11=11^1; 121=11^2……當(dāng)n5時(shí)會(huì)不符合這一條性質(zhì),此時(shí)應(yīng)把第n行的最右面的數(shù)字"1"放在個(gè)位,然后把左面的一個(gè)數(shù)字的個(gè)位對(duì)齊到十位。
以此類(lèi)推,把空位用“0”補(bǔ)齊,然后把所有的數(shù)加起來(lái),得到的數(shù)正好是11的n-1次方。以n=11為例,第十一行的數(shù)為:1,10,45,120,210,252,210,120,45,10,1,結(jié)果為 25937424601=1110。
參考資料:楊輝三角-百度百科
c語(yǔ)言的楊輝三角程序如下:
#include?stdio.h
#include?stdlib.h
int?main()
{
int?s?=?1,?h;????????????????????//?數(shù)值和高度
int?i,?j;????????????????????????//?循環(huán)計(jì)數(shù)
scanf("%d",?h);?????????????????//?輸入層數(shù)
printf("1\n");???????????????????//?輸出第一個(gè)?1
for?(i?=?2;?i?=?h;?s?=?1,?i++)?????????//?行數(shù)?i?從?2?到層高
{
printf("1?");????????????????//?第一個(gè)?1
for?(j?=?1;?j?=?i?-?2;?j++)?//?列位置?j?繞過(guò)第一個(gè)直接開(kāi)始循環(huán)
//printf("%d?",?(s?=?(i?-?j)?/?j?*?s));
printf("%d?",?(s?=?(i?-?j)?*?s?/?j));
printf("1\n");???????????????//?最后一個(gè)?1,換行????}
getchar();???????????????????????//?暫停等待
return?0;
}
擴(kuò)展資料:
楊輝三角概述
前提:每行端點(diǎn)與結(jié)尾的數(shù)為1.
每個(gè)數(shù)等于它上方兩數(shù)之和。
每行數(shù)字左右對(duì)稱(chēng),由1開(kāi)始逐漸變大。
第n行的數(shù)字有n項(xiàng)。
第n行數(shù)字和為2n。
第n行的m個(gè)數(shù)可表示為 C(n-1,m-1),即為從n-1個(gè)不同元素中取m-1個(gè)元素的組合數(shù)。
第n行的第m個(gè)數(shù)和第n-m+1個(gè)數(shù)相等 ,為組合數(shù)性質(zhì)之一。
每個(gè)數(shù)字等于上一行的左右兩個(gè)數(shù)字之和??捎么诵再|(zhì)寫(xiě)出整個(gè)楊輝三角。即第n+1行的第i個(gè)數(shù)等于第n行的第i-1個(gè)數(shù)和第i個(gè)數(shù)之和,這也是組合數(shù)的性質(zhì)之一。即 C(n+1,i)=C(n,i)+C(n,i-1)。
(a+b)n的展開(kāi)式中的各項(xiàng)系數(shù)依次對(duì)應(yīng)楊輝三角的第(n+1)行中的每一項(xiàng)。
將第2n+1行第1個(gè)數(shù),跟第2n+2行第3個(gè)數(shù)、第2n+3行第5個(gè)數(shù)……連成一線(xiàn),這些數(shù)的和是第4n+1個(gè)斐波那契數(shù);將第2n行第2個(gè)數(shù)(n1),跟第2n-1行第4個(gè)數(shù)、第2n-2行第6個(gè)數(shù)……這些數(shù)之和是第4n-2個(gè)斐波那契數(shù)。
參考資料:
百度百科-楊輝三角