题目1073:杨辉三角形

来源:互联网 发布:淘宝运营助理面试技巧 编辑:程序博客网 时间:2024/06/04 20:00

题目描述:

输入n值,使用递归函数,求杨辉三角形中各个位置上的值。

输入:

一个大于等于2的整型数n

输出:

题目可能有多组不同的测试数据,对于每组输入数据,
按题目的要求输出相应输入n的杨辉三角形。

样例输入:
6
样例输出:
1 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1

题目中提到了递归函数,但我并没想到合适的递归策略,故直接利用规律存放到数组中。


#include<stdio.h>int ans[10000];void f(int n) {if (n == 2)printf("1 1\n");if (n > 2) {f(n - 1);}}int main() {int n;while (scanf("%d", &n) != EOF) {ans[0] = ans[1] = 1;printf("1 1\n");int pos = 2;int pre = 0;for (int i = 3; i <= n; i++) {ans[pos++] = 1;printf("1 ");for (int j = 0; j < i - 2; j++) {ans[pos] = ans[pre + j] + ans[pre + j + 1];printf("%d ", ans[pos]);pos++;}ans[pos++] = 1;pre = pre + i - 1;printf("1\n");}}}


题目链接:

http://ac.jobdu.com/problem.php?pid=1073


0 0
原创粉丝点击