HDOJ 2032 杨辉三角

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

import java.util.Scanner;

public class Main {
    static int[][] pt= new int[31][];
    public static void main(String[] args) {
        pt();

        Scanner sc = new Scanner(System.in);

        while(sc.hasNext()){
            int n= sc.nextInt();

            topt(n);

            System.out.println();
        }

    }

    private static void topt(int n) {
        for(int i=1;i<=n;i++){
            System.out.print(pt[i][1]);
            for(int j=2;j<=i;j++){
                System.out.print(" "+ pt[i][j]);
            }
            System.out.println();

        }
    }

    private static void pt() {
        for(int i=1;i<=30;i++){
            pt[i] = new int[i+1];
            pt[i][i]=1;
            pt[i][1]=1;
        }
        for(int i=3;i<=30;i++){
            for(int j=2;j<i;j++){
                pt[i][j]=pt[i-1][j-1]+pt[i-1][j];
            }
        }

//        for(int i=1;i<=30;i++){
//            for(int j=1;j<=i;j++){
//                System.out.print(pt[i][j]+" ");
//            }
//            System.out.println();
//        }

    }
}
时间: 2024-09-20 23:37:22

HDOJ 2032 杨辉三角的相关文章

HDOJ(HDU) 1799 循环多少次?(另类杨辉三角)

Problem Description 我们知道,在编程中,我们时常需要考虑到时间复杂度,特别是对于循环的部分.例如, 如果代码中出现 for(i=1;i<=n;i++) OP ; 那么做了n次OP运算,如果代码中出现 fori=1;i<=n; i++) for(j=i+1;j<=n; j++) OP; 那么做了n*(n-1)/2 次OP 操作. 现在给你已知有m层for循环操作,且每次for中变量的起始值是上一个变量的起始值+1(第一个变量的起始值是1),终止值都是一个输入的n,问最后

用Javascript打印杨辉三角

var arr = new Array(); for(var i = 0 ;i < 6 ; i++){ if(i == 0){arr.push(1);} else if(i == 1){arr = new Array();arr.push(1);arr.push(1);} else{ var arr2 = new Array(); arr2.push(1); for(var j = 0;j<arr.length - 1; j++){arr2.push(arr[j] + arr[j+1]);}

C语言小程序 杨辉三角示例代码

输入要显示的杨辉三角的行数,会打印出金字塔型的杨辉三角,不过行数太多的话,效果不太好,可以再调整一下格式控制   复制代码 代码如下: #include <stdio.h> #include <stdlib.h> int main() {  int i,j,k;  int line;  int *prev, *next;  printf("输入要查看杨辉三角的行数(大于2):");  scanf("%d",&line);  if(li

批处理杨辉三角效果实现代码

 这篇文章主要介绍了批处理打印彩色的杨辉三角效果实现代码,喜欢的朋友可以测试下 效果图:   代码如下: @echo off&color 0e setlocal enabledelayedexpansion mode con: cols=130 lines=130 :top cls ::set /p in=请输入行数: set in=23&set ab=1&set var=64 if "%in%"=="" goto top if %in% g

c语言-杨辉三角等腰三角形求解

问题描述 杨辉三角等腰三角形求解 #include#include#define OK 1#define ERROR -1#define OVERFLOW -2#define MAXQSIZE 100 typedef int Status;typedef struct{ int *base; int front; int rear;}SqQueue; Status InitQueue(SqQueue &Q){ Q.base=(int *)malloc(MAXQSIZE*sizeof(int));

我是刚学的大一生 这道我自己编的杨辉三角问题 但不知道错那里 请高手帮忙 ,谢谢

问题描述 int[,]a=newint[6,6];privatevoidbutton1_Click(objectsender,EventArgse){inti,j;for(i=1;i<7;i++)a[i,i]=1;a[i,1]=1;for(i=3;i<7;i++)for(j=2;j<i;i++){a[i,j]=a[i-1,j]+a[i-1,j-1];}for(i=1;i<7;i++)for(j=1;j<i+1;j++)label1.Text+=a[i,j]+"&qu

庞果网之杨辉三角的变形

题目详情          1      1   1  1   1  2   3  2  1 1  3  6   7  6  3  1 以上三角形的数阵,第一行只有一个数1, 以下每行的每个数,是恰好是它上面的数,左上的数和右上数等3个数之和(如果不存在某个数,认为该数就是0). 求第n行第一个偶数出现的位置.如果没有偶数,则输出-1.例如输入3,则输出2,输入4则输出3. 输入n(n <= 1000000000) [解析] 经过分析得出的结论如下: 1.前两行没有偶数可直接返回-1 2.一下每

c#-以C#打印输出杨辉三角如何对齐?

问题描述 以C#打印输出杨辉三角如何对齐? 试了好多次也没有成功输出可以对齐的!不知道那一堆代码应该写在哪? 解决方案 多想想 解决方案二: 这只是1位数字,要是2位,三位,更多呢,自己研究研究吧

c语言-杨辉三角(我是新手,详细点哈)

问题描述 杨辉三角(我是新手,详细点哈) 用C打印出7行杨辉三角!成塔装的那种!(我是新手,求注解) 解决方案 #include <stdio.h>#define N 7int main(){ int a[N][N]; int i=0j=0; for(i=0;i<N;i++) a[i][0]=a[i][i]=1; for(i=2;i<N;i++) for(j=1;j<i;j++) a[i][j]=a[i-1][j-1]+a[i-1][j]; for(i=0;i<N;i+