#include<iostream>
#include<stdio.h>
using namespace std;
int a[466];
void getSanjiao()
{
a[2] = a[1] = a[0] = 1;
for(int i =3;i<=30;++i)
{
int left = (1+i-1)*(i-1)/2;
int bleft = left-i+1;
int pos = left;
a[pos] =1;
for(int j = bleft;j<left-1;++j)
{
a[++pos] = a[j]+a[j+1];
}
a[++pos] = 1;
}
}
int main()
{
getSanjiao();
unsigned int n;
scanf("%d",&n);
while(n!=0)
{
int key = 1;
int cnt =0;
int i =0;
while(true)
{
printf("%d ",a[i]);
++cnt;
if(cnt == n)
{
break;
}
else if(key == cnt)
{
printf("\n");
cnt = 0;
++key;
}
++i;
}
printf("\n");
printf("\n");
scanf("%d",&n);
}
return 0;
}
很简单,求杨辉三角。