【杭电】[2032]杨辉三角
2015-12-20 12:00
344 查看
啊
杨辉三角
感觉这一题值得说说
杨辉三角是我进入ACM协会时上机做的一题
据当时学长学姐说是当时在所有题里最难的一题
(所以进协会其实还是挺简单的)
做了这一题其它题就不用做了……‘
不过这一种写法是在进协会之前想的一种公式法
也就是根据
第n行的m个数可表示为 C(n-1,m-1)
即为从n-1个不同元素中取m-1个元素的组合数
根据这个公式用变量和循环来做
[code]#include <stdio.h> int main() { int s = 1, n; int i, j; while(scanf("%d", &n)!=EOF) { printf("1\n"); for (i = 2; i <= n; s = 1, i++) { printf("1 "); for (j = 1; j <= i - 2; j++) printf("%d ", (s = (i - j) * s / j)); printf("1\n"); } printf("\n"); } return 0; }
不过推导过程对入门的来说还是挺费时间的
所以当时做的时候还是用的传统的二维数组来写的
[code]#include <stdio.h> int main() { int a[100][100] ; int i,j,n; while(scanf("%d",&n)!=EOF) { for(i=1 ; i<=n; i++) { for(j=1; j<=i; j++) { if(j==1) a[i][j]=1; else a[i][j]=a[i-1][j-1]+a[i-1][j]; } } for(i=1; i<=n; i++) { for(j=1; j<=i; j++) { printf("%d",a[i][j]); if(j!=i) printf(" "); } printf("\n"); } printf("\n"); } return 0; }
也是有纪念意义的一题啊~
【杭电】[2032]杨辉三角
相关文章推荐
- Java测试类的创建
- JFinal form表单提交请求参数的获取问题
- 防火墙、入侵检测、渗透等安全相关资料
- java处理Excel文件---excel文件的创建,删除,写入,读取
- [iOS]iOS8可用的识别用户方式(idfa、UUID、idfv)
- select @@SERVERNAME
- 安卓碎片fragment菜单侧滑slidingmenu
- 1057: [ZJOI2007]棋盘制作
- 二叉树搜索树的插入算法
- C/C++语言参数传递----函数/方法 参数的指针引用传递
- LeetCode - Generate Parentheses
- shell 命令之 find 命令四
- java贪吃蛇极速版
- Java常见问题汇总
- zxing解析中文符号错误
- C++拷贝对象
- C++拷贝对象
- OpenGL超级宝典7th简体中文-第二章-我们的第一个OpenGL程式
- Delphi按名字调用方法高级解决方案
- HDOJ 3552 I can do it!(贪心)