您的位置:首页 > 其它

7.1趣味递归之打印杨辉三角

2016-04-27 13:55 323 查看
//递归法求杨辉三角

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: