问题标题: 酷町堂:1710 杨辉三角

0
0
已解决
李瑞曦
李瑞曦
高级天翼
高级天翼

为啥50分???

我的代码:

#include<iostream>
using namespace std;
int a[1111][1111];
int main(){
    int n;
    cin>>n;
    for(int i=0;i<100;i++){                         
        for(int j=0;j<100;j++)
            a[i][j]=0;
    }
    for(int i=0;i<n;i++)                      
        a[i][0]=1;
    for(int i=1;i<n;i++)                               
        for(int j=1;j<=i;j++)
            a[i][j]=a[i-1][j]+a[i-1][j-1];
    for(int i=0;i<n;i++){
        for(int j=0;j<=i;j++)
            cout<<a[i][j]<<" ";
        cout<<endl;
    }
    return 0;
}

 

李瑞曦在2021-04-22 19:50:37追加了内容
#include<iostream>
using namespace std;
int f[1111][1111];
int main(){
    int n;
    cin>>n;
    f[1][1]=1;
    for(int i=2;i<=n;i++) {
        for(int j=1;j<=i;j++) {
            f[i][j]=f[i-1][j-1]+f[i-1][j];
        }
    }
    for(int i=1;i<=n;i++) {
        for(int j=1;j<=i;j++) {
            cout<<f[i][j]<<" ";
        }
        cout<<endl;
    }
    return 0;
}

@陈曦 还是50分

李瑞曦在2021-04-22 20:28:27追加了内容
#include<iostream>
using namespace std;
int f[1111][1111];
int main(){
    int n;
    cin>>n;
    f[1][1]=1;
    for(int i=2;i<=n;i++) {
        for(int j=1;j<=i-1;j++) {
            f[i][1]=1;
            f[i][i]=1;
            f[i][j]=f[i-1][j-1]+f[i-1][j];
        }
    }
    for(int i=1;i<=n;i++) {
        for(int j=1;j<=i;j++) { 
            cout<<f[i][j]<<" ";
        }
        cout<<endl;
    }
    return 0;
}

还是不对@张易晨


0
已采纳
陈曦
陈曦
资深天翼
资深天翼

我们写的不太一样诶

    f[1][1]=1;
	for(int i=2;i<=n;i++){
		for(int j=1;j<=i;j++){
			f[i][j]=f[i-1][j-1]+f[i-1][j];
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=i;j++){
			cout<<f[i][j]<<" ";
		}
		cout<<endl;
	}

 

陈曦在2021-04-22 20:29:50追加了内容

要开long long

0
张易晨
张易晨
新手光能
新手光能

把那个双重循环的j改成j<=i-1

之后在循环里加一个:

a[i][1]=1;

a[i][i]=1;

张易晨在2021-04-22 20:18:48追加了内容

在你后来发的代码上改

张易晨在2021-04-22 20:22:40追加了内容

输出的j不用改

0
我要回答