杨辉三角da
给出正整数n(2<=n<=10),输出杨辉三角前n行
杨辉三角性质:三角形中的每个数字等于它两肩上的数字相加
输入格式:输入一个正整数n
输出格式:输出杨辉三角的前n行,元素中间用一个空格分隔,每行用换行分隔
输入样例:
4
输出样例
1
1 1
1 2 1
1 3 3 1
代码:
利用杨辉三角的性质,除了每行开头与结尾的1外,其中每一个数都是上一行对应位置的数于其前一个数的和。(要注意处理每行开头和结尾的1,因为他们不是上一行的数加和来的)
#include<stdio.h>
int main()
{
int n;
int i,k;
scanf("%d",&n);
int a[n][n];
a[0][0]=1;
for(i=1;i<n;i++)
{ a[i][0]=1;
a[i][i]=1;
for(k=1;k<i;k++)
{
a[i][k] = a[i-1][k] + a[i-1][k-1];
}
}
for(i=0;i<n;i++)
{
for(k=0;k<i+1;k++)
{
if(a[i][k]==0)
{
break;
}
else
{
printf("%d ",a[i][k]);
}
}
printf("\n");
}
}