<hdu-2032>杨辉三角

这是杭电hdu上杨辉三角的链接:http://acm.hdu.edu.cn/showproblem.php?pid=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

  值得注意:题目中的空格和换行字眼,有时候答案是对的,杭电提示Wrong Answer,而不是提示Presentation Error.

  具体参见下面代码:

 1 #include <iostream>
 2 #include <cstring>
 3 #include <algorithm>
 4 #define N 32
 5
 6 using namespace std;
 7
 8 int a[N][N];
 9 int n;
10 void creat() {
11     for(int i = 0;i <= n; ++i) {
12         a[i][i] = 1;
13         a[i][0] = 1;
14     }
15     for(int i = 2;i <= n; ++i) {
16         for(int j = 1;j < i; ++j) {
17             a[i][j] = a[i-1][j] + a[i-1][j-1];
18         }
19     }
20 }
21 void print_ () {
22     int i,j;
23     for(i = 0;i < n; ++i) {
24         for(j = 0;j < i; ++j) {
25             cout << a[i][j] << " ";
26         }
27         cout << a[i][j];/////根据题意--每个整数之间用空格隔开,(注意:最后一个整数后面不能有空格)在这里单独输出最后一个整数1即可
28         cout << endl;
29     }
30     cout << endl;
31 }
32 int main() {
33     memset(a,0,sizeof(a));
34     while (cin >> n) {
35         creat();
36         print_();
37     }
38     return 0;
39 }

  希望和各位码友一起成长,欢迎评论。

时间: 2024-10-30 23:54:20

<hdu-2032>杨辉三角的相关文章

LeetCode (13) Pascal&#39;s Triangle (杨辉三角 )

题目描述 Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5, Return 从第三行开始,每行除了最左边和最右边两个数为1,其他数字都是上一行中相邻两个数字之和.根据上述规则可以写出下面的代码: class Solution { public: vector<vector<int> > generateRow1() { vector<in

杨辉三角

1 package com.llh.demo; 2 3 /** 4 * 杨辉三角 5 * 6 * @author llh 7 * 8 */ 9 public class Test { 10 /* 11 * 杨辉三角 12 */ 13 public static void main(String[] args) { 14 int[] a = new int[11]; 15 int num = 1; 16 // 17 for (int i = 1; i <= 10; i++) { 18 for (i

杨辉三角实例菱形实例

杨辉三角实例 public class Hui { public static void main (String [] args){ int [][] a =new int [10][10]; for(int i=0;i<a.length;i++){ for(int j=0;j<=i;j++){ if(j==0||i==j){ System.out.print(" "+(a[i][j]=1)); }else {a[i][j]=a[i-1][j-1]+a[i-1][j];

js算法集合(二) javascript实现斐波那契数列 (兔子数列) Javascript实现杨辉三角

js算法集合(二)  斐波那契数列.杨辉三角 ★ 上一次我跟大家分享一下做水仙花数的算法的思路,并对其扩展到自幂数的算法,这次,我们来对斐波那契数列和杨辉三角进行研究,来加深对Javascript的理解. 一.Javascript实现斐波那契数列 ①要用Javascript实现斐波那契数列,我们首先要了解什么是斐波那契数列:斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为

使用Java打印杨辉三角

package 杨辉三角; import java.util.Scanner; public class 三角 { private static Scanner scn; public static void main(String[] args) { scn = new Scanner(System.in); System.out.println("请输入数据"); int n = scn.nextInt(); //定义一个二维数组 int [][] array = new int

Java的二维数组的应用及杨辉三角的编写

(1) 编写一个程序,生成一个10*10的二维随机整数数组,并将该数组的每行最大值保存于一个一维数组中,将每列平均值保存于另外一个一维数组中并分别输出. (2) 编程输出杨辉三角的前10行. 找出一个,即该位置上的元素在该行上最大,在该列上最小(注:一个二维数组也可能没有这样的鞍点). /** * * @author liuhui *@version Java上机实验三 *@time 2016.10.30 */ public class javatest2 { public static int

实现杨辉三角的10种解法--体验Python之美

本文收集了使用python实现杨辉三角的多种解法,主要为网上收集,也有一些是自己写的.从中可以体会python编写一个算法的不同思想和Python语法的特点. 杨辉三角是什么?还是度娘吧,看起来像是这样的:                          1                          1   1                           1   2   1                         1   3   3   1               

如何用C++打印杨辉三角

下面是杨辉三角的一部分,我们观察观察它有什么规律: 1 1      1 1     2     1 1     3     3     1 1     4     6     4     1 1     5    10    10    5    1 1     6    15    20   15    6    1 1     7     21    35   35   21   7    1 ................ 通过观察不难发现,三角的两边都是1,而且除边界外的每个数的值都

Pascal&#39;s Triangle II 杨辉三角

1 class Solution { 2 public: 3 vector<int> getRow(int rowIndex) { 4 vector<vector<int>> tri; 5 if(rowIndex==0) 6 { 7 vector<int> c; 8 c.push_back(1); 9 return c; 10 } 11 vector<int> b; 12 b.push_back(0); 13 b.push_back(1); 14

C输出帕斯卡三角(杨辉三角)递归实现

1 /*帕斯卡三角形(杨辉三角)*/ 2 int Recursive_Pascal_Triangle( int i, int j ) 3 { 4 if( (j == 0) || (i == j) ) 5 return 1; 6 else{ 7 return Recursive_Pascal_Triangle(i-1,j-1) + Recursive_Pascal_Triangle( i-1, j ); 8 } 9 } 10 11 /*输出三角形*/ 12 void display_triangl