Jiwu Bu
C++博客
::
首页
::
新随笔
::
联系
::
聚合
::
管理
::
32 随笔 :: 0 文章 :: 25 评论 :: 0 Trackbacks
<
2024年11月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(4)
给我留言
查看公开留言
查看私人留言
随笔分类
Boost(2)
(rss)
C++(6)
(rss)
Linux(17)
(rss)
Linux内核VFS(1)
(rss)
Note(1)
(rss)
Windows(1)
(rss)
算法与数据结构(5)
(rss)
随笔档案
2010年7月 (1)
2010年4月 (1)
2010年1月 (1)
2009年12月 (1)
2009年11月 (10)
2009年9月 (2)
2009年8月 (2)
2009年7月 (1)
2009年1月 (9)
2008年12月 (1)
2008年10月 (3)
相册
Me
搜索
最新评论
1. re: Linux下文件打包与解包[未登录]
好
--小米
2. re: Windows Socket编程
@Ruby
项目-属性-配置属性-清单工具-输入输出-嵌入清单 选择否
--langl
3. re: Gvim操作汇总
请问vim有反向选择功能么?
--我爱自由
4. re: Linux与Windows中map类erase方法的差异[未登录]
牛
--wz
5. re: 从STL中的list删除元素
学习了
--CDD
阅读排行榜
1. Windows Socket编程(50241)
2. 从STL中的list删除元素(22070)
3. Linux添加环境变量与GCC编译器添加INCLUDE与LIB环境变量(18499)
4. 堆排序算法总结!(10349)
5. 几种内部排序算法总结!(冒泡排序、快速排序、直接插入排序、拆半插入排序、简单选择排序)(6855)
评论排行榜
1. Windows Socket编程(9)
2. Linux与Windows中map类erase方法的差异(4)
3. 通过更改函数地址为函数打补丁(3)
4. Linux添加环境变量与GCC编译器添加INCLUDE与LIB环境变量(2)
5. 从STL中的list删除元素(2)
非递归计算N的阶乘
N的阶乘,通过数组的方式计算N的阶乘,防止由于计算结果太大导致溢出!
1
#include
<
iostream
>
2
using
namespace
std;
3
4
void
Function(
int
n)
5
{
6
int
Length
=
n
*
(n
+
1
)
/
2
;
7
8
int
*
result
=
new
int
[Length];
9
memset(result,
0
,Length);
10
11
result[
0
]
=
1
;
12
int
number_count
=
1
;
13
int
number_carry
=
0
;
14
int
number_temp
=
0
;
15
16
for
(
int
i
=
1
; i
<=
n; i
++
)
17
{
18
for
(
int
j
=
0
;j
<
number_count; j
++
)
19
{
20
number_temp
=
result[j]
*
i
+
number_carry;
21
result[j]
=
number_temp
%
10
;
22
number_carry
=
(
int
)(number_temp
/
10
);
23
}
24
while
(number_carry)
25
{
26
result[number_count]
=
(number_carry
%
10
);
27
number_carry
=
(
int
)(number_carry
/
10
);
28
number_count
++
;
29
}
30
}
31
32
for
(
int
i
=
number_count
-
1
; i
>=
0
;
--
i)
33
{
34
cout
<<
result[i];
35
}
36
37
cout
<<
endl;
38
delete[] result;
39
}
40
41
int
main()
42
{
43
unsigned
int
n;
44
while
(cin
>>
n
&&
n
!=
0
)
45
{
46
Function(n);
47
}
48
49
return
0
;
50
}
N的阶乘
posted on 2009-01-09 20:33
bujiwu
阅读(1788)
评论(0)
编辑
收藏
引用
所属分类:
C++
、
算法与数据结构
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
五子棋<二>
五子棋<->
Telnet
Windows Socket编程
通过更改函数地址为函数打补丁
非递归计算N的阶乘
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
Powered by:
C++博客
Copyright © bujiwu