题目:https://vjudge.net/contest/275895#problem/C
解题思路:了解杨辉三角的规律!!注意后半部分数字太大会溢出!!规律:每一行输出的数会有一个对称点!
#include
using namespace std;
long long r(int a,int b)
{
int i;
long long s1=1,s2=1;
if(b==0) return 1;
else
{
for(i=1;i<=b;i++)
{
s1=s1i;
}
for(i=a;i>a-b;i–)
{
s2=s2i;
}
return s2/s1;
}
}
int main()
{
int n,i,j;
while(cin>>n)
{
for(i=1;i<=n;i++)
{
for(j=0;j<i/2;j++)
{
cout<<r(i-1,j);
if(j!=i-1) cout<<" “;
}
for(j=i/2;j<i;j++)
{
cout<<r(i-1,i-1-j);
if(j!=i-1) cout<<” ";
}
cout<<endl;
}
cout<<endl;
}
}