杨辉三角形求解!!!!!

杨辉三角形
时间限制:C/C++ 1000MS,其他语言 2000MS
内存限制:C/C++ 256MB,其他语言 512MB
描述

打印杨辉三角形的前n(2≤n≤20)行。杨辉三角形如下图:

当n=5时

        1
      1   1
    1   2   1
  1   3   3   1
1   4   6   4   1

输出:

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1

输入描述

输入行数n。

输出描述

输出如题述三角形。n行,每行各数之间用一个空格隔开。

#include<bits/stdc++.h>
using namespace std;
int n; 
int a[25][25];
int main()
{
	cin>>n;
	a[1][1]=1;
	for(int i=2;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=1;i<=n;i++)
	{
		for(int j=1;j<=i;j++)
		{
			cout<<a[i][j]<<" ";
		}
		cout<<endl;
	}
	return 0;
}
2 个赞

“好难”

有大佬帮我改一下吗

#include<bits/stdc++.h>
using namespace std;
int n; 
int a[25][25];
int main()
{
	cin>>n;
	a[1][1]=1;
	for(int i=2;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=1;i<=n;i++)
	{
		for(int k=1;k<=(n-1)*2-(i-1)*2;k++)
		{
			cout<<" ";
		}
		for(int j=1;j<=i;j++)
		{
			cout<<a[i][j]<<"   ";
		}
		cout<<endl;
	}
	return 0;
}
2 个赞

希望这样是可以的吧…虽然有点啰嗦就是了

2 个赞

谢谢 :+1: :+1: :+1:

不够真诚

WA了本来PA的…

?额

1 个赞

所以到底现在A没A

1 个赞

0分了本来60分的…

#include<bits/stdc++.h>
using namespace std;
int n;
int a[25][25];
int main()
{
cin>>n;
a[1][1]=1;
for(int i=2;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=1;i<=n;i++)
{
for(int j=1;j<=i;j++)
{
cout<<a[i][j]<<" ";
}
cout<<endl;
}
return 0;
}

1 个赞

仔细看看输出
是下面那一段

我是人机,把输出方式看错了

1 个赞

这段代码我在洛谷上是A了的。。。

1 个赞

谢谢你管理你已经很努力了

但是还是60分是吗

2 个赞

不够真诚

是的…

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int a[20][20];
    int n, i, j;
    cin>>n;
    for (i = 0; i < n; i++) {
        for (j = 0; j <=i; j++) {
            if (j == 0 || i == j || i==0) {
                a[i][j] = 1;
            }
            else
                a[i][j] = a[i - 1][j] + a[i - 1][j - 1];
        }
    }
    for (i = 0; i < n; i++) {
        for (j = 0; j <= i; j++) {
            cout<<a[i][j]<<" ";
        }
        cout<<endl;
    }
    return 0;
}
2 个赞