//递归法求杨辉三角
int func(int i,int j){
if (j==0||j==i) {
return 1;
}else {
return func(i-1,j)+func(i-1,j-1);
}
}
int main ( int argc, char **argv )
{
int n,i,j;
scanf("%d",&n);
for(i=0;i<=n;i++)
{
for(j=0;j<n-i;j++)
printf(" ");
for(j=0;j<=i;j++)
printf("%6d",func(i,j));
printf("\n");
}
return 0;
}
//杨辉三角
//
//
//{
// int a[10][10]={};
// for (int i=0; i<10; i++)
//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 35 35 21 7 1
// {
// for (int j=0; j<=i; j++)
// {
// a[i][0]=1;
// if (j==i||j==0)
// {
// a[i][j]=1;
// }
// else{
// a[i][j]=a[i-1][j]+a[i-1][j-1];
//
// }
// printf("%4d",a[i][j]);
// }
// printf("\n");
//
// }
//
//
//
//
// return 0;
//}
二维数组打印杨辉三角
//等腰三角杨辉三角
#if 0
{
int a[10][10]={};
for (int i=0; i<10; i++)
{
for (int j=0; j<=i; j++)
{
a[i][0]=1;
if (j==i||j==0)
{
a[i][j]=1;
}
else{
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
printf("%4d",a[i][j]);
}
printf("\n");
}
return 0;
}
#endif