1 条题解

  • 0
    @ 2025-4-7 21:28:47

    C :

    #include <stdio.h>
    int main() {
            int dat[20][20];
            int n, i, j;
            scanf("%d", &n);
            for (i = 0;i < n;i++) {
                    dat[i][0] = dat[i][i] = 1;
                    for (j = 0;j + 1 < i;j++)
                            dat[i][j + 1] = dat[i - 1][j] + dat[i - 1][j + 1];
            }
            for (i = 0;i < n;i++) {
                    for (j = 0;j <= i;j++)
                            printf("%d ", dat[i][j]);
                    puts("");
            }
            return 0;
    }
    

    C++ :

    #include <stdio.h>
    int main() {
    	int dat[20][20];
    	int n, i, j;
    	scanf("%d", &n);
    	for (i = 0;i < n;i++) {
    		dat[i][0] = dat[i][i] = 1;
    		for (j = 0;j + 1 < i;j++)
    			dat[i][j + 1] = dat[i - 1][j] + dat[i - 1][j + 1];
    	}
    	for (i = 0;i < n;i++) {
    		for (j = 0;j <= i;j++)
    			printf("%d ", dat[i][j]);
    		puts("");
    	}
    	return 0;
    }
    
    

    Pascal :

    var
      n,i,j:longint;
      a:array[0..100,0..100] of longint;
    begin
      readln(n);
      a[0,1]:=1;
      for i:=1 to n do
      begin
        for j:=1 to i do
        a[i,j]:=a[i-1,j-1]+a[i-1,j];
      end;
      for i:=1 to n do
      begin
        //write('':(n-i)*3);
        for j:=1 to i do write(a[i,j],' ');
        writeln;
      end;
    end.
    

    Java :

    import java.util.*;
    
    public class Main{ 
    	public static void main(String[] args){
    		Scanner in =new Scanner(System.in);
    		int n=in.nextInt(); 
     	    int[][] a=new int[n][n]; 
      		for(int i=0;i<n;i++) 
        		for(int j=0;j<n;j++) { 
          			if (j<i){ 
            			a[i][j]=1; 
            			if(j==0){ 
             			 a[i][j]=1; 
           			   }
            		else
              			 a[i][j]=a[i-1][j-1]+a[i-1][j]; 
          			}
          		else{ 
            a[i][j]=1; 
          } 
        } 
    
      for(int i=0;i<n;i++) { 
        for(int j=0;j<i;j++){ 
          System.out.print(a[i][j]+" "); 
        }
        System.out.println(a[i][i]+" ");
      } 
     } 
    } 
    

    Python :

    l = input()
    a = [[-1 for i in range(l)] for i in range(l)]
    for i in range(l):
        print 1,
        a[i][0] = a[i][i] = 1
        for j in range(1, i):
            a[i][j] = a[i - 1][j - 1] + a[i - 1][j]
            print a[i][j],
        if i > 0:
            print 1,
        print ""
    
    • 1

    信息

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