1 条题解
-
0
C :
#include <stdio.h> void main(){ int a[10][10]={0},i,j,n; scanf("%d",&n); for(i=0;i<n;i++){ for(j=0;j<=i;j++){ if(j==0){ a[i][j]=1; }else{ a[i][j]=a[i-1][j]+a[i-1][j-1]; } } } for(i=0;i<n;i++){ for(j=0;j<=i;j++){ printf("%d ",a[i][j]); } putchar('\n'); } }C++ :
#include <bits/stdc++.h> using namespace std; int main(){ int a[10][10] = {0}; int n,i,j,s; cin>>n; a[0][0] = 1;//第1行第1个数先赋值 for(i = 1;i < n;i++){ //第i行有i个数 for(j = 0;j <= i;j++){ //第i行第一个数是1 if(j == 0){ a[i][j] = 1; }else{ a[i][j] = a[i - 1][j] + a[i - 1][j - 1]; } } } for(i = 0;i < n;i++){ for(j = 0;j <= i;j++){ cout<<a[i][j]<<" "; } cout<<endl; } }Pascal :
var a:array[1..10,1..10] of longint; n,i,j:longint; begin read(n); for i:=1 to n do for j:=1 to i do begin a[i,1]:=1; a[i,j]:=1; end; for i:=3 to n do for j:=2 to i-1 do a[i,j]:=a[i-1,j-1]+a[i-1,j]; for i:=1 to n do begin for j:=1 to i do write(a[i,j],' '); writeln; end; end.Java :
import java.util.Scanner; public class Main { public static void main(String args[]){ Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int[][] a=new int[n][n]; for(int i=0;i<n;i++){ for(int j=0;j<=i;j++){ if(j==0){ a[i][j]=1; }else if(i==j){ a[i][j]=1; }else{ a[i][j]=0; } } } for(int c=0;c<n/2+1;c++){ for(int i=0;i<n;i++){ for(int j=1;j<i;j++){ a[i][j]=a[i-1][j]+a[i-1][j-1]; } } } for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ if(a[i][j]==0){ System.out.print(' '); }else{ System.out.print(a[i][j]+" "); } } System.out.println(); } } }Python :
def getList(m,n): ma=[[0 for i in range(n)] for i in range(m)] return ma def printList(arr): for i in arr: for j in i: if j!=0: print(j,end=' ') else: print((''),end=' ') print() n=int(input()) a=getList(n,n) for i in range(0,n): for j in range(0,n): if i==j: a[i][j]=1 elif i>j: a[i][j]=a[i-1][j]+a[i-1][j-1] printList(a)
- 1
信息
- ID
- 256
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者