苦恼啊,请各位帮忙!小弟不胜感激!
一下是我自己编写的计算杨辉三角的程序,执行到n=12以后数值就出现了问题,百般不得其解,望高手指点!
#include <stdio.h>
#include <conio.h>
unsigned long jc(unsigned long n)
{unsigned long i,r=1;
if(n==0) return(1);
for(i=1;i<=n;i++) r*=i;
return(r);
}
unsigned long c(unsigned long n,unsigned long m)
{unsigned long r;r=(jc(n)/(jc(m)*jc(n-m)));
/* printf("now return n!=%ld m!=%ld n-m!=%ld m!*(n-m)!=%ld\n",
jc(n),jc(m),jc(n-m),jc(m)*jc(n-m));*/
return(r);
}
main()
{int i,j;
clrscr();
for(i=1;i<15;i++)
{for(j=0;j<=i;j++) printf("%ld ",c(i,j));
printf("\n");}
}