2187 - 打印杨辉三角

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 64 MB

打印杨辉三角的头10行
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
...

题目输入

题目输出

每个数字用一个空格分隔。

输入/输出样例

输入格式


                        

输出格式


                        

C语言解答

#include<stdio.h>
int main(){
    int a[10][10], i , j ;
    int flag=0;
    for(i=0;i<10;i++){
        for(j=0;j<=i;j++){
            if(i==j||j==0) a[i][j]=1;
            else a[i][j]=a[i-1][j]+a[i-1][j-1];
              if(flag) printf(" ");
               printf("%d",a[i][j]);
               flag=1;
                }
            printf("\n");
            flag=0;
              }
return 0;
}

C++解答

#include <iostream>
using namespace std;

int main()
{	
	int data[10] = {0};
	

	int cc;
	for (int i=0; i<10;i++)
	{
		data[i] = 1;
		for (int k = i-1; k >=1; k--)
		{
			data[k] = data[k]+data[k-1];
		}

		cc = 0;
		for (int j =0; j<=i; j++)
		{
			if (cc==0)
				cout<<data[j];
			else
				cout<<" " <<data[j];
			cc++;
		}
		cout<<endl;
		
	}
    return 0;
}

Java解答

public class Main 
    {
            public static void main(String[] args)
            {  
              int[][] number = new int[10][10];
              for(int k=0;k<=9;k++) {
                number[k][k]=1;
                
              }
              for(int k=0;k<=9;k++) {
                number[k][0]=1;
              }
              
              for(int k=2;k<=9;k++) {
                for(int i=1;i<=k-1;i++){
                  int a =k-1;
                  int b =i-1;
                  number[k][i]=number[a][b]+number[a][i];
                }
              }
                for(int i =0;i<=9;i++){
                  for(int j=0;j<i+1;j++) {
                    System.out.print(number[i][j]);
                    if(j+1<i+1)
                     System.out.print(" ");
                  }
                  System.out.print("\n");
                }
              
            }
}