1 条题解

  • 0
    @ 2025-4-12 21:52:30

    C :

    #include<stdio.h>
    void fun(int a[][50],int n) 
    { 
       int i,j; 
       for(i=0;i<n;i++) 
          for(j=0;j<=i;j++) 
          { 
             if(i==j) 
                a[i][j]=1; 
             else if(j==0) 
                     a[i][j]=1; 
                  else 
                     a[i][j]=a[i-1][j-1]+a[i-1][j]; 
          } 
    } 
    int main() 
    { 
       int i,j,k,n,m; 
       int a[50][50];
       scanf("%d",&m);
       for(i=0;i<=m;i++){                   
          k=1; 
          while(scanf("%d",&n)==1){ 
             fun(a,n); 
             for(i=0;i<n;i++) 
             { 
                 for(j=0;j<n-i-1;j++) 
                    printf(" "); 
                 for(j=0;j<=i;j++) 
                 { 
                    if(j==i) 
                       printf("%d",a[i][j]); 
                    else 
                       printf("%d ",a[i][j]); 
                 } 
                 printf("\n"); 
            }  
        }
       } 
       return 0; 
    }
    
    

    C++ :

    #include <iostream>
    #include <cstdio>
    using namespace std;
    
    int fun(int n,int k)
    {
        if(k==0 || n==k)
            return 1;
        else
            return fun(n-1,k-1)+fun(n-1,k);
    }
    
    int main()
    {
        //freopen("test.in", "r", stdin);
        //freopen("test.out", "w", stdout);
        int i,j,n,t;
        cin >> t;
        while (t--) {
            cin>>n;
            for(i=0; i<n; i++)
            {
                for(int k=0; k<n-i-1; k++)
                    cout<<" ";
                for(j=0; j<i; j++)
                    cout<<fun(i,j)<<" ";
                cout<<fun(i,i)<<endl;
            }
        }
        return 0;
    }
    
    

    Pascal :

    var
    a:array[1..10,1..10] of longint;
    n,m,i,j,k:longint;
    begin
      read(n);
      for k:=1 to n do
      begin
      readln(m);
      a[1,1]:=1;
      for i:=2 to m do
      begin
        a[i,1]:=1;
        a[i,i]:=1;
        for j:=2 to i-1 do
        a[i,j]:=a[i-1,j-1]+a[i-1,j];
      end;
      for i:=1 to m-1 do
      begin
       write(' ':m-i);
       for j:=1 to i-1 do write(a[i,j],' ');
       writeln(a[i,i]);
      end;
      for i:=1 to m-1 do write(a[m,i],' ');
      writeln(a[m,m]);
     end;
    end.
    
    
    • 1

    信息

    ID
    2093
    时间
    1000ms
    内存
    32MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者