在一行输入一个整数
![]()
。
输出杨辉三角形的前
行。每一行从该行第一个元素开始,依次输出;每两个数之间用一个空格分隔。请不要在行末输出多余的空格。
4
1 1 1 1 2 1 1 3 3 1
当时,杨辉三角形的前 4 行如上所示。
1
1
当时,杨辉三角形只有第 1 行,元素为
。
#include <stdio.h>
int main() {
int n, i, j;
scanf ("%d", &n);
int N[34][34];
for (i = 0; i < n; i ++) {
printf ("1 ");
N[i][0] = 1, N[i][i] = 1;
for (j = 1; j < i; j ++) {
N[i][j] = N[i - 1][j] + N[i - 1][j - 1];
printf ("%d ", N[i][j]);
}
if (i != 0) printf ("1");
if (n != 1 && i != n - 1) printf ("\n");
}
return 0;
} //不检查presentation实在是太友好了 #include <stdio.h>
int main() {
int n;
if (scanf("%d", &n) != 1 || 1 > n || n > 34) {
return 1;
}
long a[34][34] = { 0 };
for (int i = 0; i < n; i += 1) {
for (int j = 0; j <= i; j += 1) {
if (j == 0 || j == i) {
a[i][j] = 1;
}
else {
a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
}
}
}
for (int i = 0; i < n; i += 1) {
for (int j = 0; j <= i; j += 1) {
if (j == 0) {
printf("%ld", a[i][j]);
}
else {
printf(" %ld", a[i][j]);
}
}
printf("\n");
}
return 0;
} #include <stdio.h>
int main()
{
int n=0;
scanf("%d",&n);
int a[n+1][n+1];
for(int i=0;i<n;i++)
{
a[i][i]=1;
a[i][0]=1;
for(int j=0;j<=i;j++)
{
if(j>0&&j<i)//这个限制条件可好的很啊
{
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
printf("%d ",a[i][j]);
}
printf("\n");
}
return 0;
} #include <stdio.h>
int main() {
int a;
scanf("%d", &a);
int arr[a],temp1[a],temp2[a];
for(int i=0;i<a;i++)
{
for(int j=0;j<i+1;j++)
{
int out;
if(!j) out=1;
else if(j==i) out=1;
else out=temp2[j-1]+temp2[j];
printf("%d ", out);
temp1[j] = out;
}
printf("\n");
for(int j=0;j<i+1;j++) temp2[j]=temp1[j];
}
return 0;
}