杨辉三角是我们国家数学史很值得骄傲的数学上的发现吧。:) 刚刚学习数据结构的时候试图把它打印出来,失败了。那时候不知道打印的话,就要利用杨辉三角之中人人皆知的规律,而是在那里胡乱的尝试。在学习了《算法导论》中关于动态规划的章节后,似乎对算法的认识提高了很多。杨辉三角也很自然的,很轻松的就打印出来了。下面是我的代码,其实只需要每次记住上一行中用来产生下一行中的2个数字就行了。
#include <stdio.h>
#define N 15
int
main() { int a[N] = {1, 1
}; printf("1 "
); printf("1 1 "
); for (int i = 2; i != N; ++
i) { a[0] = 1
; int j = 1
; int m = a[0], n = a[1
]; for (; j != i; ++
j) { a[j] = m +
n; m =
n; n = a[j + 1
]; } a[j] = 1
; for (int k = 0; k != j + 1; ++
k) { printf("%d"
, a[k]); if (k !=
j) printf(" "
); } printf("/n "
); } return 0
; }