不用数组实现杨辉三角.(C语言实现,输出前10行的值)
1
1
2 1
3 3 1
4 6 4 1
5 10 5 1
............
:这里主要考杨辉三角的一个性质:第n行的第m个数和第n-m个数相等,即C(n,m)=C(n,n-m),如果知道这点的话,那么一切问题都好解决了。
下面是代码:
#include<stdio.h>
#define N 10
void main()
{
unsigned int i,j,k;
unsigned int b,c;
for(i=0;i<=N;i++)
{
//for(j=N;j>i;j--)
//printf("");
if(i==0)
printf("%4d",1);
for(j=0;j<=i;j++)
{
b=c=1;
if(j>=1)
{
for(k=i-j+1;k<=i;k++)
b*=k;
for(k=1;k<=j;k++)
c*=k;
printf("%4d",b/c);
}
}
printf("\n");
}
}