今天工作有点空闲,想起大学学习数据结构时的一个问题,就是实现大数的阶乘。 所以我尝试了一下。
使用VC6.0
计算小于13的数的阶乘时很容易实现递归,代码如下:
整数(整数n)
如果(n = )
如果(我 >= - 1)
(“太短了!/n”);
退出(0);
别的
[i+1]++;
[i] -= ;
无效(无效)
整数 i = 0;
for(i = 0; i < ; i++)
[一世] = [一世];
无效(整数n)
整数 i = 0;
如果(n==1);
();
for(i = 1; i < n; i++)
();
(n-1);
无效(无效)
首先 int = 1;
整数 i = 0;
(“这 : ”);
for(i = ; i > 0; i--)
如果(!首先)
(“%09d”,[i-1]);
if([i-1] != 0 && 首先)
(“%d”,[i-1]);
第一个= 0;
(“/n”);
//主.cpp
#
#
“C”{
# “。H”
使用标准;
第110章
整数(整数n)
如果(n