杨辉三角形(pascal triangle)的两种不同思路的C实现方法
来源:互联网 发布:js 移除disabled 编辑:程序博客网 时间:2024/05/14 07:20
杨辉三角形(pascal triangle),winxp+dev_c++4环境下实现:
1:利用公式函数化实现:
2:利用二维数组实现:
比较而言,下面一种方法更简洁,函数化实现需要很多次调用函数和多次循环计算。
1:利用公式函数化实现:
#include<stdio.h>
#define M 10
int factor(int m)
...{
int mult=1,i;
for(i=1;i<=m;++i)
mult*=i;
return mult;
} //计算阶乘;
int pascal(int m,int n)
...{
return factor(m)/(factor(n)*factor(m-n));
} //利用公式计算每一个位置上元素的值;
int main(void)
...{
int i,j;
for(i=0;i<M;++i)
...{
for(j=0;j<i+1;++j)
printf("%d ",pascal(i,j));
putchar(' ');
}
system("pause");
return 0;
} //funtion way
#define M 10
int factor(int m)
...{
int mult=1,i;
for(i=1;i<=m;++i)
mult*=i;
return mult;
} //计算阶乘;
int pascal(int m,int n)
...{
return factor(m)/(factor(n)*factor(m-n));
} //利用公式计算每一个位置上元素的值;
int main(void)
...{
int i,j;
for(i=0;i<M;++i)
...{
for(j=0;j<i+1;++j)
printf("%d ",pascal(i,j));
putchar(' ');
}
system("pause");
return 0;
} //funtion way
2:利用二维数组实现:
#define M 10
#include <stdio.h>
int main()
...{ int pascal[M][M];
int i,j;
printf("1 ");
printf("1 1 ");
pascal[0][0]=1;
pascal[0][1]=1;
for(i=1;i<M-1;++i)//注意将运算后得到的值存储以便下次运算使用;
...{ pascal[i][0]=1;
printf("%d ",pascal[i][0]); //the 1st num 1
for(j=1;j<i+1;++j)
...{
pascal[i][j]=pascal[i-1][j-1]+pascal[i-1][j];//计算中间里面的值;
printf("%d ",pascal[i][j]);
}
pascal[i][j]=1;
printf("%d ",pascal[i][j]); //the last num 1;
}
system("PAUSE");
return 0;
}
#include <stdio.h>
int main()
...{ int pascal[M][M];
int i,j;
printf("1 ");
printf("1 1 ");
pascal[0][0]=1;
pascal[0][1]=1;
for(i=1;i<M-1;++i)//注意将运算后得到的值存储以便下次运算使用;
...{ pascal[i][0]=1;
printf("%d ",pascal[i][0]); //the 1st num 1
for(j=1;j<i+1;++j)
...{
pascal[i][j]=pascal[i-1][j-1]+pascal[i-1][j];//计算中间里面的值;
printf("%d ",pascal[i][j]);
}
pascal[i][j]=1;
printf("%d ",pascal[i][j]); //the last num 1;
}
system("PAUSE");
return 0;
}
- 杨辉三角形(pascal triangle)的两种不同思路的C实现方法
- 杨辉三角形(pascal triangle)的两种不同思路的C实现方法
- Java 计算器的实现(两种不同思路)
- (LeetCode)杨辉三角形Pascal's Triangle
- 118. Pascal's Triangle-杨辉三角形
- 杨辉三角形的两种方法
- [leetcode]Pascal's Triangle II (杨辉三角形求输出第k行的值)
- Pascal's Triangle II 第k个数字的排列 杨辉三角形
- css实现三角形的两种方法
- Pascal triangle 帕斯卡三角形 杨辉三角形 二项式定理
- 【LeetCode-面试算法经典-Java实现】【119-Pascal's Triangle II(帕斯卡三角形(杨辉三角)II)】
- LeetCode-118-Pascal's Triangle(帕斯卡的三角形)
- Singleton的两种不同实现方法.
- leetcode: Pascal's Triangle (杨辉三角形) 【面试算法题】
- leetcode 119.Pascal's Triangle II-杨辉三角形
- leetcode 118. Pascal's Triangle 杨辉三角形
- leetcode 119. Pascal's Triangle II 杨辉三角形2
- 巴斯卡(Pascal)三角形 (C语言实现)
- 替换图片地址正则表达式应用
- js下拉筐(select)联动
- 编写的一个10进制转二进制字符串的函数
- Web 2.0+电子商务2.0:看似巧合实本然
- 杂感:从事计算机行业的人的记忆力到底该是个什么状态
- 杨辉三角形(pascal triangle)的两种不同思路的C实现方法
- 常见的一些 x86 OS
- 最近总结了的排序算法
- Draw2D 教程(一)
- 算法 + 数据结构 = 程序
- XML DTD简介
- 关于HttpModule和HttpHandler
- HttpModule和HttpHandler的一个小问题的解决
- 使用163邮箱的朋友请换个邮箱地址给我写信