Pagini recente » Cod sursa (job #2694301) | Cod sursa (job #2604555) | Cod sursa (job #1749565) | Cod sursa (job #1074183) | Cod sursa (job #804413)
Cod sursa(job #804413)
#include<stdio.h>
long mat[20][20];
int main()
{
freopen("triunghi.in","r",stdin);
freopen("triunghi.out","w",stdout);
long n,s,i,j,a,b,x=0;
scanf("%ld%ld",&n,&s);
for(i=1;i<=(n+1)/2;i++)
x+=i;
x+=(i-1)*(n/2);
s=s-(n-2)*x-n-n;
for(i=1;;i++)
{
if(s<n+n-2)
{
printf("imposibil\n");
return 0;
}
s=s-x;
if(s%n==0)
break;
}
a=1+i;
b=s/n+1;
mat[1][1]=b;
for(i=2;i<=n;i++)
mat[1][i]=1;
mat[1][(n+1)/2]=a;
for(i=2;i<=n;i++)
for(j=1;j<=n-i+1;j++)
mat[i][j]=mat[i-1][j]+mat[i-1][j+1];
for(i=n;i>=1;i--)
{
for(j=1;j<n-i+1;j++)
printf("%ld ",mat[i][j]);
printf("%ld",mat[i][j]);
if(i>1)
printf("\n");
}
return 0;
}