01/10/2018, 13:30

Vẽ 30 dòng tam giác Pascal

cho em hỏi làm sao để vẽ tam giác pascal 30 dòng với ạ,em viết thường tính theo giai thừa thì nó chạy có mười mấy dòng,mà viết đệ quy thì nó quá lâu,giới hạn có đc 1 s.Ai chỉ cho em vs ạ

Nguyễn Thanh Tuấn viết 15:37 ngày 01/10/2018

#include <stdio.h>
#include <stdlib.h>
long pl (int k,int n)
{
if (k==0||k==n)
return 1;
else return pl( k, n-1 ) + pl( k-1, n-1 );

}
int main()
{
int n;
int i,k;
scanf("%d",&n);
for (i=0;i<=n;i++)
{
for (k=0;k<=i;k++)
{
printf("%ld “,pl(k,i));
}
printf(”\n");
}
return 0;
}

Nguyễn Thanh Tuấn viết 15:39 ngày 01/10/2018

#include <stdio.h>
#include <stdlib.h>
long long giaithua (int n)
{
int i;
long long gt=1;
if (n==1||n==0)
return 1;
for (i=1;i<=n;i++)
{
gt=gt*i;
}
return gt;
}
int main()
{
int n;
int i,k;
scanf("%d",&n);
for (i=0;i<=n;i++)
{
for (k=0;k<=i;k++)
{
printf("%lld “,giaithua(i)/(giaithua(k)*giaithua(i-k)));
}
printf(”\n");
}
return 0;
}

HK boy viết 15:33 ngày 01/10/2018

Áp dụng công thức C(k, n) = C(k, n-1) + C(k-1, n-1) để tính. Độ phức tạp O(n^2).

Nguyễn Thanh Tuấn viết 15:30 ngày 01/10/2018

thanks,để em thử đã,nghe mong lung quá

Bài liên quan
0