#include #include #include #include main() { int n,k; int maxn; int dig,maxdig; int **bincoeffs; char fmt[128]; double digd; printf("enter maximum n: "); scanf("%d", &maxn); bincoeffs=(int **)malloc(sizeof(int *)*(maxn+1)); for(n=0;n<=maxn;n++) bincoeffs[n]=(int *)malloc(sizeof(int)*(n+1)); maxdig=0; for(n=0;n<=maxn;n++) { for(k=0;k<=n;k++) { bincoeffs[n][k]=0; if(k==0 || k==n) bincoeffs[n][k]=1; else bincoeffs[n][k]=bincoeffs[n-1][k]+bincoeffs[n-1][k-1]; digd=log10(bincoeffs[n][k]); if(digd==ceil(digd)) digd++; dig=ceil(digd); if(dig>maxdig) maxdig=dig; } } sprintf(fmt, "%%%dd", maxdig+1); for(k=0;k