Tạo tam giác pascal, nhờ sửa code

đề bài : nhạp vào số hàng để tạo 1 tam giác pascal có n hàng
ý tưởng: http://thapsang.vn/wordpress/uploads/2013/07/tam-giac-Pascal.png


tuy nhiên đoạn code của e ko chạy ra đúng kết quả, mong mọi người giúp đỡ

#include <stdio.h>
#include <conio.h>

int main()
{
    int n, i,k, j, s, m1, m2 ;
    
    printf(" Nhap vao so hang cua tam giac: ");
    scanf("%d", &n);
    for(i=1; i<=n; i++)                                     //tam giac pascal co cac phan tu la nCk (chinh hop) 
    {
            for(j=0; j<=i; ++j)
            {
                     
                     if ((j==0) || ((i-j)==0))                 // vi nC0=1     
                     printf("    1");
                     else
                     {
                     for(k=1; k<=i; k++)                            // tinh n!
                     {
                              s=1;
                              s*=k;}
                     for(k=1; k<=j; k++)                             //tinh k!
                     {
                              m1=1;
                              m1*=k;}
                     for(k=1; k<=(i-j); k++)                         // tinh (n-k)!       
                     {
                              m2=1;
                              m2*=k;}
                              }  
                     printf("%5d", s/(m1*m2)); 
                    
            }                
            
     s=1; m1=1; m2=1;
    printf("\n");                        
            
    }
 getch();
}
1 Like
#include <stdio.h>
#include <conio.h>

int main()
{
    int n, i,k, j, s, m1, m2 ;

    printf(" Nhap vao so hang cua tam giac: ");
    scanf("%d", &n);
    for(i=1; i<=n; i++){
        for(j=0; j<=i; ++j){
            if ((j==0) && ((i-j)==0)){ 
                printf("    1"); 
            } else{
                s=1;
                for(k=1; k<=i; k++){
                    s*=k;
                }
                m1=1;
                for(k=1; k<=j; k++){
                    m1*=k;
                }
                m2=1;
                for(k=1; k<=(i-j); k++){
                    m2*=k;
                }
            }  
            printf("%5d", s/(m1*m2)); 
        }                
        printf("\n");
    }
    getch();
}
2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?