杨辉三角
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 137018 Accepted Submission(s): 53520

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语言程序设计练习(五)

问题链接:HDU2032 杨辉三角
问题简述:(略)
问题分析
  按Markdown格式重写了题解,旧版题解参见参考链接。
  这里给出两个版本的程序,分别用一维数组和二维数组来存储杨辉三角。使用二维数组存储杨辉三角,可以实现一次计算多次使用。使用一维数组存储杨辉三角,需要更高的技巧。程序中,需要注意空格输出。参见第二个参考链接。
程序说明:使用宏定义来增加程序的通用性。
参考链接
HDU2032 杨辉三角【入门+趣味程序】
I00001 杨辉三角
题记:(略)

AC的C语言程序(二维数组)如下:

/* HDU2032 杨辉三角 */#include <stdio.h>#define N 30
int pascal[N + 1][N + 1];/* 使用二维数组的杨辉三角程序 */
void pascalgo(int n)
{int i, j;for (i = 0; i < n; i++)for (j = 0; j <= i; j++)if (j == 0 || j == i) pascal[i][j] = 1;else pascal[i][j] = pascal[i - 1][j] + pascal[i - 1][j - 1];
}void pascalprint(int n)
{int i, j;for (i = 0; i < n; i++) {for (j = 0; j <= i; j++) {if (j != 0) printf(" ");printf("%d", pascal[i][j]);}printf("\n");}
}int main(void)
{pascalgo(N);int n;while (scanf("%d", &n) != EOF) {pascalprint(n);printf("\n");}return 0;
}

AC的C语言程序(一维数组)如下:

/* HDU2032 杨辉三角 */#include <stdio.h>int pascal[30 + 1];/* 使用一维数组的打印杨辉三角程序 */
void pascalgo(int n)
{int i, j;for (i = 0; i < n; i++) {for (j = i; j >= 0; j--) {if (j == i || j == 0) pascal[j] = 1;else pascal[j] += pascal[j-1];if (j != i) printf(" ");printf("%d", pascal[j]);}printf("\n");}
}int main(void)
{int n;while(scanf("%d", &n) != EOF) {pascalgo(n);printf("\n");}return 0;
}

HDU2032 杨辉三角【入门】相关推荐

  1. HDU2032 杨辉三角【入门+趣味程序】

    杨辉三角 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  2. HDU2032 杨辉三角

    杨辉三角 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  3. HDU2032杨辉三角(C++)

    此题需要注意每个杨辉三角之间都要有一个空行 #include <iostream> #include <cstdlib> using namespace std; int ma ...

  4. hdu-2032杨辉三角

    这是杭电hdu上杨辉三角的链接:http://acm.hdu.edu.cn/showproblem.php?pid=2032  Problem Description: 还记得中学时候学过的杨辉三角吗 ...

  5. 1275 - 【入门】输出杨辉三角的前N行

    1275 - [入门]输出杨辉三角的前N行 题目描述 输出杨辉三角的前N行(N<10). 输入 输入只有一行,包括1个整数N.(N<10) 输出 输出只有N行. 样例 输入 5 输出 1 ...

  6. HDU2032(杨辉三角)

    就是打印杨辉三角: #include<iostream> #include<algorithm> #include<cstring> #include<cma ...

  7. LeetCode简单题之杨辉三角

    题目 给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行. 在「杨辉三角」中,每个数是它左上方和右上方的数的和. 示例 1: 输入: numRows = 5 输出: [[1], ...

  8. C语言实例第3期:在控制台打印出著名的杨辉三角

    C语言文章更新目录 C语言学习资源汇总,史上最全面总结,没有之一 C/C++学习资源(百度云盘链接) 计算机二级资料(过级专用) C语言学习路线(从入门到实战) 编写C语言程序的7个步骤和编程机制 C ...

  9. C语言课程设计报告输出杨辉三角,C语言学习:在屏幕上输出杨辉三角

    杨辉三角的规律是:它的两条斜边都是由数字1组成的,而其余的数则是等于它肩上的两个数之和. 代码如下: #include #include int main() { int i,j,k,arr[10][ ...

最新文章

  1. 刷题 - 基础数学/数论问题
  2. [转载]利用@media screen实现网页布局的自适应,@media screen and
  3. idea 保存设置 新建项目_配置、创建IntelliJ IDEA Spring MVC 项目
  4. 计算机组成原理闭卷,《计算机组成原理》试卷A (闭卷)
  5. matlab生成随机粗糙表面_随机粗糙面建模
  6. 用python贴吧自动回帖_python基于selenium实现贴吧自动发帖
  7. 对于程序员来说什么才是A站B站。。。Z站?
  8. 流?I/O操作?阻塞?epoll?
  9. pos系统开发步骤1-创建数据库以及拼音缩写的实现
  10. Java 的历史和版本
  11. 时间机器 Time Machine 三星T7 移动硬盘SSD解决方案
  12. 编译项目时pangolin出现莫名其妙的问题
  13. 全国行政分区明细表(省市区比较2010年左右)(第一部分)
  14. Element Table 反选
  15. c语言中可以输入中文标点符号,SCIM中 输入中文标点符号的方法
  16. the selection cannot be run on any server解决方法
  17. 大数据如何学习,告诉你正确的学习姿势
  18. webService接口wsdl以byte[]方式上传附件
  19. ISV 生态合作伙伴体系多领域赋能,开拓市场赛道
  20. 赛效:WPS(word)文档怎样在方框里打钩

热门文章

  1. java 显示图片的一部分_求只显示图片上半部分三分之一的写法
  2. 如何从asio::udp::socket()中取出底层sockfd整数
  3. android点击图片跳转页面底部,【报Bug】安卓底部选项卡webview模式下 点击跳转到某个页面后,会出现底部重叠的问题...
  4. Android 获取唯一机器码的代码
  5. 好用的前端组件收集(ing)
  6. MFC 教程【12_对话框和对话框类CDialog 】
  7. Python字符串有关的方法汇总
  8. Spring boot的helloword
  9. Docker安装与修改默认工作目录
  10. Phoenix命令及语法