C++心路历程
C++博客
首页
新随笔
新文章
联系
聚合
管理
posts - 33, comments - 25, trackbacks - 0
ZOJ 1205 解题报告
写了两个parse加
大数类
就解决了,基本不难.
Code
1
#include
"
BigInteger.h
"
2
#include
<
iostream
>
3
#include
<
string
>
4
using
namespace
std;
5
6
int
ConvertToInt(
char
c)
7
{
8
if
(isdigit((
int
)c))
9
return
c
-
'
0
'
;
10
else
11
return
c
-
'
a
'
+
10
;
12
}
13
14
char
ConvertToChar(
int
value)
15
{
16
if
(value
<
10
)
17
return
value
+
'
0
'
;
18
else
19
return
value
-
10
+
'
a
'
;
20
}
21
22
int
_tmain(
int
argc, _TCHAR
*
argv[])
23
{
24
string
a, b;
25
while
(cin
>>
a
>>
b)
26
{
27
int
a_length
=
a.length();
28
int
b_length
=
b.length();
29
30
BigInteger big_a(
0
), big_b(
0
);
31
BigInteger p(
20
), zero(
0
);
32
for
(
int
i
=
a_length
-
1
; i
>=
0
;
--
i)
33
{
34
big_a
=
big_a
+
BigInteger(ConvertToInt(a.at(i)))
*
p.Pow(a_length
-
1
-
i);
35
}
36
for
(
int
i
=
b_length
-
1
; i
>=
0
;
--
i)
37
{
38
big_b
=
big_b
+
BigInteger(ConvertToInt(b.at(i)))
*
p.Pow(b_length
-
1
-
i);
39
}
40
BigInteger result
=
big_a
+
big_b;
41
vector
<
char
>
r;
42
if
(result
==
zero)
43
{
44
cout
<<
"
0
"
<<
endl;
45
continue
;
46
}
47
while
(result
!=
zero)
48
{
49
BigInteger big_integer
=
result
%
p;
50
r.push_back(ConvertToChar(big_integer.GetIntValue()));
51
result
=
result
/
p;
52
}
53
54
vector
<
char
>
::reverse_iterator end
=
r.rend();
55
for
(vector
<
char
>
::reverse_iterator ite
=
r.rbegin(); ite
!=
end;
++
ite)
56
{
57
cout
<<
(
*
ite);
58
}
59
cout
<<
endl;
60
}
61
return
0
;
62
}
63
posted on 2009-03-26 21:51
肖羽思
阅读(402)
评论(0)
编辑
收藏
引用
所属分类:
ZOJ
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
ZOJ 1813 解题报告
ZOJ 1406 解题报告
ZOJ 1350 解题报告
ZOJ 1249 解题思路
ZOJ 1151 解题报告
ZOJ 1113 解题报告
ZOJ 1059 解题报告
ZOJ 1057 解题报告
ZOJ 1210 解题报告
ZOJ 1160 解题报告
网站导航:
博客园
IT新闻
BlogJava
博问
Chat2DB
管理
<
2009年3月
>
日
一
二
三
四
五
六
22
23
24
25
26
27
28
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
31
1
2
3
4
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(3)
给我留言
查看公开留言
查看私人留言
随笔分类
POJ(4)
ZOJ(29)
随笔档案
2009年4月 (10)
2009年3月 (23)
文章分类
POJ(1)
ZOJ(1)
文章档案
2009年3月 (2)
搜索
最新评论
1. re: ZOJ 1059 解题报告
让人
--让人
2. re: POJ 1753 解题报告
LZ的位运算计算法果然比我的普通方法快很多啊!!!
感谢分享!!!
--hacker003
3. re: POJ 1753 解题报告
这算法好像有冗余吧
FlipPiece(6585,0)=6570之后就不用FlipPiece(6570,0)了吧
--yangyh
4. re: POJ 1517 解题报告
这样的话不是每一次都要重复计算阶乘的么?很浪费时间的。。。。
--WayneWu
5. re: POJ 2965 解题报告
@Tanky Woo
你说的不对,你根本没看楼主的算法,结果必定为1
--刘灏
阅读排行榜
1. POJ 1753 解题报告(4999)
2. POJ 2965 解题报告(3723)
3. ZOJ 1204 解题报告(2130)
4. ZOJ 1004 解题报告(1902)
5. ZOJ 1091 解题报告(1321)
评论排行榜
1. POJ 1753 解题报告(8)
2. POJ 2965 解题报告(8)
3. ZOJ 1004 解题报告(2)
4. ZOJ 1210 解题报告(2)
5. ZOJ 1059 解题报告(1)