杨辉三角算法
来源:互联网 发布:seo云优化heikw 编辑:程序博客网 时间:2024/04/27 21:11
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
......
#include <iostream.h>
#include <iomanip.h>
typedef long (*FunPtr)( long, long );
long Factorial( long value );
long GetElementMethod1( long row, long col );
long GetElementMethod2( long row, long col );
void Output( long step, FunPtr funptr );
// 程序入口点
int main()
{
FunPtr funptr;
// 使用数学公式方法输出杨辉三角
funptr = GetElementMethod1;
Output( 6, funptr );
cout << endl;
// 使用递归输出杨辉三角
funptr = GetElementMethod2;
Output( 6, funptr );
return 0;
}
// 获取当前参数的阶乘值
long Factorial( long value )
{
if ( value == 0 || value == 1 )
return 1;
else
return value * Factorial( value - 1 );
}
// 获取杨辉三角第row行第col列元素的值
long GetElementMethod1( long row, long col )
{
return Factorial( row ) / ( Factorial( row - col ) * Factorial( col ) );
}
// 获取杨辉三角第row行第col列元素的值
long GetElementMethod2( long row, long col )
{
if ( col == 0 || row == col )
return 1;
else
return GetElementMethod2( row - 1, col - 1 ) + GetElementMethod2( row - 1, col );
}
// 输出杨辉三角,step为杨辉三角的阶数。
void Output( long step, FunPtr funptr )
{
for ( int row = 0; row <= step; ++row )
{
for ( int col = 0; col <= row; col++ )
{
cout << setw( 5 ) << funptr( row, col );
}
cout << endl;
}
}
- 杨辉三角算法
- 杨辉三角算法
- 杨辉三角算法
- 杨辉三角算法
- 杨辉三角算法
- 杨辉三角算法
- 杨辉三角 算法
- 杨辉三角算法集锦
- JAVA算法,杨辉三角
- 杨辉三角 C++算法
- 算法详解--杨辉三角
- 杨辉三角 Java算法
- PHP实现杨辉三角算法
- JAVA常用算法-杨辉三角
- 每日一算法:打印杨辉三角
- 蓝桥杯 算法设计_3 杨辉三角
- [算法系列] 杨辉三角求值
- 蓝桥杯算法训练之杨辉三角
- 使用垃圾回收器
- 解决IE无法解析XML文件错误
- 利用外部命令Oralce数据库导入导出
- 浙江大学计算机学院2007年考研复试上机题
- Java学习中--swing
- 杨辉三角算法
- java连续走纸打印源代码
- 视频格式转换实用手册
- Compass 指南
- 我的藏书
- 利用Compass实现一个简单的搜索引擎
- Compass学习文档
- 理解Compass的配置文件
- 如何使用ExternalContext类