2187 - 打印杨辉三角
时间限制 : 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"); } } }