一维数组实现杨辉三角

杨辉三角

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)

Total Submission(s): 43411    Accepted Submission(s): 18254

Problem Description

还记得中学时候学过的杨辉三角吗?具体的定义这里不再描述,你可以参考以下的图形:

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

Input

输入数据包含多个测试实例,每个测试实例的输入只包含一个正整数n(1<=n<=30),表示将要输出的杨辉三角的层数。

Output

对应于每一个输入,请输出相应层数的杨辉三角,每一层的整数之间用一个空格隔开,每一个杨辉三角后面加一个空行。

Sample Input

2 3

Sample Output

1
1 1

1
1 1
1 2 1

Author

lcy

Source

C语言程序设计练习(五)

import java.util.Scanner;

public class Main {
    static int[] mat = new int[31];

    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
        mat[0] = 1;// 初始化第一个元素,也就是第一列的值全为1;
        int n = 0;
        while (sc.hasNext()) {
            n = sc.nextInt();
            triangle(n);
        }
    }

    public static void triangle(int n) {
        System.out.println(mat[0]);
        mat[n - 1] = 1;// 从后面往前面
        for (int i = 1; i < n; i++) {// 控制行数
            mat[i] = 1;
            for (int j = i - 1; j > 0; j--) {
                mat[j] = mat[j] + mat[j - 1];
                if (mat[j] < 0) {
                    return;
                }
            }
            for (int j = 0; j <= i; j++) {
                if (j == 0) {
                    System.out.print(mat[j]);
                } else {
                    System.out.print(" " + mat[j]);
                }
            }
            System.out.println();
        }
        System.out.println();
    }

}
时间: 2025-01-12 16:32:30

一维数组实现杨辉三角的相关文章

一维数组求杨辉三角

问题: 编写程序,根据输入的正整数n(1<=n<=12),输出相应的杨辉三角图案,例如,当n=5时,将输出: 1  1 1                                                     1 2 1                                                   1 3 3 1                                                  1 4 6 4 1             

C语言用一维数组打印杨辉三角(原:无意中想到)

//求前10行的数 1 int a[11] = { 1 }; 2 a[0] = 1, a[1] = 1; 3 int i, j,m; 4 for (i = 2; i <= 11; i++) //2-11 输出10行 5 { 6 for (j = i - 1; j > 1; j--) //关键在这句,倒着求 7 { 8 a[j] = a[j] + a[j - 1]; 9 printf("%5d", a[j]); 10 } 11 printf("%5d\n"

实验四:用一维数组实现杨辉三角

源代码: package yanghui; public class sanjiao{public static void main(String[]args){ int i=1; int a[]=new int[8]; for(i=0;i<8;i++){ a[i]=1; for(int j=i-1;j>0;j--){ a[j]=a[j-1]+a[j]; } for(int j=0;j<=i;j++) { System.out.print(" "+a[j]); } S

用一维数组输出杨辉三角

总结心得: 在刚开始编程过程中,对一位数组的使用不是太过熟练,在复习以前知识和过问同学渐渐掌握了,在编写过程中如何输出等腰的三角形遇到了问题,在过问同学后也掌握了,总而言之,此次实验受益匪浅. 原文地址:https://www.cnblogs.com/myb1128/p/10633942.html

Makefile总结和反序字符数组,整体右移数组,杨辉三角!

2015.1.23今天我值日 继续接着昨天Makefile的目标开始记录:第一种:有 .PHNOY声明,但是冒号后面没有依赖文件.PHNOY:clean clean://没有依赖文件 rm *.0 temp 第二种:冒号前后的文件没有直接的依赖关系也可以没有依赖文件 .PHNOY:all 1 all: main.o f1.o f2.o f3.o 2 gcc -o all main.o f1.o f2.o f3.o 3 main.o: main.c 4 gcc -c main.c -o main.

二维数组打印杨辉三角

一共搞了三个版本~虽然核心算法是一样的,但是我说是三个就是三个!!! 一.普通版 let readline=require("readline-sync"); console.log("请输入杨辉三角的行数:"); let line = parseInt(readline.question("")); let arr=[[1],[1,1]]; for(let i=2;i<line;i++){ arr[i]=[]; for(let j=0;j

二维数组求杨辉三角

1 #include<stdio.h> 2 int main(){ 3 int i,j,n; 4 int a[13][13]; 5 do{ 6 printf("Enter n(1-12):"); 7 scanf("%d",&n); 8 }while(!(n>=1&&n<=12)); 9 for(i=0;i<=n;i++){ 10 a[i][0]=1; 11 a[i][i]=1; 12 for(j=1;j<=

非数组求杨辉三角

1 #include<stdio.h> 2 int main(){ 3 int i,j,n,c; 4 do{ 5 printf("Enter n(1-12):"); 6 scanf("%d",&n); 7 }while(!(n>=1&&n<=12)); 8 for(i=0;i<=n;i++){ 9 c=1; 10 for(j=1;j<=37-3*i;j++) 11 printf(" ")

杭州电子科技大学 Online Judge 之 “杨辉三角(ID2032)”解题报告

杭州电子科技大学 OnlineJudge 之 "杨辉三角(ID2032)"解题报告 巧若拙(欢迎转载,但请注明出处:http://blog.csdn.net/qiaoruozhuo) Problem Description 还记得中学时候学过的杨辉三角吗?具体的定义这里不再描述,你可以参考以下的图形: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 Input 输入数据包含多个测试实例,每个测试实例的输入只包含一个正整数n(1<=n<