Pascal triangle 帕斯卡三角形 杨辉三角形 二项式定理
来源:互联网 发布:淘宝里怎么发布宝贝 编辑:程序博客网 时间:2024/04/29 23:15
Pascal triangle
等段时间再扯pascal triangle~
先把一年多以前打印杨辉三角形的方法贴出来(简直不认直视,越来越不敢看以前自己写的东东了)
C语言实现:
/*************************************************************** Code writer : EOF Code date : 2013.05.16 e-mail : jasonleaster@gmail.com Code description : Here is a demo for how to print out the pascal triangle.*****************************************************************/#include <stdio.h>#include <stdlib.h>void buildup(int S, int *n);void putout(int S, int *n);int main(){ int row = 0; int k = 0, m = 0, x = 0, S = 0; printf("Please enter the row number"); while(!scanf("%d",&S)) { while(getchar() != '\n'); printf("please enter again!\n"); } int *n = (int *)malloc((S + 1)*(S/2)*sizeof(int)); if(!n) { printf("malloc failed!\n"); return -1; } buildup(S, n); putout(S, n); return 0;}void buildup(int S, int *n){ int row , k , m , x , y , a , b; row = k = m = x = y = a = b =0; //initialization for(m = 0; m < (S+1)*(S/2); m++) { n[m] = 0; } for(row = 1; row <= S; row++) { m = ((row*(row-1))/2); n[m] = 1; } for(row = 1;row <= S; row++) { m = ((row*(row+1))/2) -1; n[m] = 1; } //key method for(k = 2; k <= S-1; k++) { for(row = (3 + k -2); row <= S; row++) { m = ((row*(row-1))/2) - 1 + k; x = m - row; y = m - row + 1; a = ((row*(row+1))/2) - row; b = ((row*(row+1))/2) - 1; if( m != a && m != b) { n[m] = n[x] + n[y]; } else { n[m] = 1; } } }}void putout(int S, int *n){ int row , blank , rank , num; row = blank = rank = num = 0; for(row = 1; row <= S; row++) { if(row == 1) { for(blank = 1; blank <= 4*(S-row); blank++) { printf(" "); } } else { for(blank = 1; blank <= (S-row); blank++) { printf(" "); } } for(rank = 1; rank <= row; rank++) { printf("%d ", n[num]); num++; if(rank == row) { printf("\n"); } printf(" "); } }}
摄于二零一四年八月十四日 秋水共长天一色
0 0
- Pascal triangle 帕斯卡三角形 杨辉三角形 二项式定理
- 帕斯卡三角形(Pascal's triangle)
- Pascal's Triangle(帕斯卡三角形)
- Pascal's Triangle 帕斯卡三角形
- Pascal’s Triangle 帕斯卡三角形I
- Pascal's Triangle II 帕斯卡三角形II
- Pascal's Triangle(帕斯卡三角形)II
- Pascal's Triangle帕斯卡三角形算法
- 帕斯卡三角形—Pascal's Triangle
- 帕斯卡三角形—Pascal's Triangle II
- 杨辉三角形与二项式定理
- leetcode Pascal's Triangle 帕斯卡尔三角形输出
- leetcdoe 帕斯卡尔三角形2 Pascal's Triangle II
- [LeetCode-118] Pascal's Triangle(帕斯卡三角形)
- LeetCode 118 Pascal's Triangle(帕斯卡三角形)(vector)
- Pascal's Triangle II 帕斯卡三角形系列2
- LeetCode-118-Pascal's Triangle(帕斯卡的三角形)
- 【LeetCode-面试算法经典-Java实现】【119-Pascal's Triangle II(帕斯卡三角形(杨辉三角)II)】
- 求比给定正整数N的最小不重复数(度娘)
- 人和人之间不要靠的太近
- 【技术教程】超强悍一键重装系统教程(小白必备)
- ios 面试
- Android自定义对话框(Dialog)位置,大小
- Pascal triangle 帕斯卡三角形 杨辉三角形 二项式定理
- Largest Rectangle in Histogram
- linux下使用C语言编写管理进程
- C++中const对象和const成员函数
- Backgroud -Master Data-Credit Control Area
- Http的Get和Post方式详解
- HTML5标签(2)
- ZOJ 3334 Body Check 贪心算法
- 2048 Web游戏 基于HTML+CSS+JavaScript