How to work with BIG numbers? [duplicate]

戏子无情 提交于 2019-11-28 09:08:51

问题


Possible Duplicates:
“BigInt” in C?
How to implement big int in C++

How do we work with big numbers without making use of external libraries and functions?

Some problems are as follows:

What is the sum of the digits of the number 21000?

Work out the first ten digits of the sum of the following one-hundred 50-digit numbers.

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

(this list goes on...)

How would you go on to solve such problems? What approach can I use?

Thanks in advance.

*by the way, these problems are taken from Project Euler but many other instances exist not only there. I found these just to provide an example.


回答1:


You need GMP, the GNU multi-precision library. Seriously, don't re-invent the wheel.




回答2:


Build your bigint implementation, or download one.



来源:https://stackoverflow.com/questions/3290173/how-to-work-with-big-numbers

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!