HDU2032 杨辉三角【入门】
杨辉三角
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 杨辉三角【入门】相关推荐
- HDU2032 杨辉三角【入门+趣味程序】
杨辉三角 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- HDU2032 杨辉三角
杨辉三角 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- HDU2032杨辉三角(C++)
此题需要注意每个杨辉三角之间都要有一个空行 #include <iostream> #include <cstdlib> using namespace std; int ma ...
- hdu-2032杨辉三角
这是杭电hdu上杨辉三角的链接:http://acm.hdu.edu.cn/showproblem.php?pid=2032 Problem Description: 还记得中学时候学过的杨辉三角吗 ...
- 1275 - 【入门】输出杨辉三角的前N行
1275 - [入门]输出杨辉三角的前N行 题目描述 输出杨辉三角的前N行(N<10). 输入 输入只有一行,包括1个整数N.(N<10) 输出 输出只有N行. 样例 输入 5 输出 1 ...
- HDU2032(杨辉三角)
就是打印杨辉三角: #include<iostream> #include<algorithm> #include<cstring> #include<cma ...
- LeetCode简单题之杨辉三角
题目 给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行. 在「杨辉三角」中,每个数是它左上方和右上方的数的和. 示例 1: 输入: numRows = 5 输出: [[1], ...
- C语言实例第3期:在控制台打印出著名的杨辉三角
C语言文章更新目录 C语言学习资源汇总,史上最全面总结,没有之一 C/C++学习资源(百度云盘链接) 计算机二级资料(过级专用) C语言学习路线(从入门到实战) 编写C语言程序的7个步骤和编程机制 C ...
- C语言课程设计报告输出杨辉三角,C语言学习:在屏幕上输出杨辉三角
杨辉三角的规律是:它的两条斜边都是由数字1组成的,而其余的数则是等于它肩上的两个数之和. 代码如下: #include #include int main() { int i,j,k,arr[10][ ...
最新文章
- 刷题 - 基础数学/数论问题
- [转载]利用@media screen实现网页布局的自适应,@media screen and
- idea 保存设置 新建项目_配置、创建IntelliJ IDEA Spring MVC 项目
- 计算机组成原理闭卷,《计算机组成原理》试卷A (闭卷)
- matlab生成随机粗糙表面_随机粗糙面建模
- 用python贴吧自动回帖_python基于selenium实现贴吧自动发帖
- 对于程序员来说什么才是A站B站。。。Z站?
- 流?I/O操作?阻塞?epoll?
- pos系统开发步骤1-创建数据库以及拼音缩写的实现
- Java 的历史和版本
- 时间机器 Time Machine 三星T7 移动硬盘SSD解决方案
- 编译项目时pangolin出现莫名其妙的问题
- 全国行政分区明细表(省市区比较2010年左右)(第一部分)
- Element Table 反选
- c语言中可以输入中文标点符号,SCIM中 输入中文标点符号的方法
- the selection cannot be run on any server解决方法
- 大数据如何学习,告诉你正确的学习姿势
- webService接口wsdl以byte[]方式上传附件
- ISV 生态合作伙伴体系多领域赋能,开拓市场赛道
- 赛效:WPS(word)文档怎样在方框里打钩
热门文章
- java 显示图片的一部分_求只显示图片上半部分三分之一的写法
- 如何从asio::udp::socket()中取出底层sockfd整数
- android点击图片跳转页面底部,【报Bug】安卓底部选项卡webview模式下 点击跳转到某个页面后,会出现底部重叠的问题...
- Android 获取唯一机器码的代码
- 好用的前端组件收集(ing)
- MFC 教程【12_对话框和对话框类CDialog 】
- Python字符串有关的方法汇总
- Spring boot的helloword
- Docker安装与修改默认工作目录
- Phoenix命令及语法