如何使用大数字?

时间:2010-07-20 13:02:20

标签: c++ algorithm biginteger

  

可能重复:
  “BigInt” in C?
  How to implement big int in C++

如果不使用外部库和函数,我们如何使用大数字?

有些问题如下:

数字21000的数字总和是多少?

计算出以下一百个50位数字之和的前十位数。

37107287533902102798797998220837590246510135740250
46376937677490009712648124896970078050417018260538
74324986199524741059474233309513058123726617309629
91942213363574161572522430563301811072406154908250
23067588207539346171171980310421047513778063246676
8926........................................771585
42502016545090413245809786882778948721859655517457
72107838435069186155435662884062257473692284509516
20849603980134001723930671666823555245252804609722
53503534226472524250874054075591789781264330331690

(此列表继续......)

你会如何继续解决这些问题?我可以使用什么方法?

提前致谢。

顺便提一下,这些问题来自Project Euler,但不仅存在许多其他实例。我发现这些只是为了提供一个例子。

2 个答案:

答案 0 :(得分:4)

你需要GMP,GNU多精度库。说真的,不要重新发明轮子。

答案 1 :(得分:1)

构建您的bigint实施,或下载一个。