要从第二行开始输出 测试用例有点坑爹 第一行的1不用输出。

杨辉三角形

http://www.nowcoder.com/questionTerminal/ef7f264886a14fdf8a6ed3ac008a23c8

//递归输出
//这种方法简单 但是重复计算很多 时间复杂度比较大
#include<iostream>
#include<cstdio>
using namespace std;
int func(int i,int j){
    if(j==1||j==i)
        return 1;
    else
        return func(i-1,j)+func(i-1,j-1);
}
int main(){
    int n;
    while(cin>>n){
        for(int i=2;i<=n;++i){//从第二行开始输出,测试用例很坑爹。正常应该改成1
            for(int j=1;j<=i;++j){
                cout<<func(i,j);
                if(i!=j)
                    cout<<" ";
            }
            cout<<endl;
        }
    }
}

全部评论
感谢...搞了半天没弄明白自己到底哪错。。看着示例输出也没问题= =
点赞 回复 分享
发布于 2021-01-26 21:36

相关推荐

HNU_fsq:建议直接出国,这简历太6了。自愧不如
点赞 评论 收藏
分享
3 收藏 评论
分享
牛客网
牛客企业服务