用于竞争性编程的C ++中非常大的数字

时间:2015-09-01 17:13:05

标签: c++

我想知道如何使用非常大的数字(在C ++中精确10 ^ 100)来进行竞争性编程。我知道像 GMP 这样的库存在,但它们不能用于像SPOJ或CodeChef这样的网站。

我使用了字符串,但实现它需要很多时间。现在我想知道其他程序员使用的有效方法和资源来学习这些方法。谢谢!

1 个答案:

答案 0 :(得分:0)

  

我想知道其他程序员使用的有效方法

大多数情况下,在向SPOJ等在线评判系统或竞赛提交您的解决方案时,您无法使用任何第三方库(但有些竞赛只需要.out文件,因此无关紧要你是如何得到它们的。)

由于你不能使用任何外部的东西,竞争程序员自己编写他们的BigNum课程。使用C ++中的std::string等动态数组或数据结构并不是那么难。

如何?

当你试图击败和解决在线判断/比赛问题时,练习是你最好的朋友 纸,铅笔,你的头脑,没有其他任何东西需要找到如何实现你的BigNum类。

考虑如何将大数字读取/写为std::string,然后再进一步尝试添加/删除前导零,计算两个大数的总和......然后,进一步的事情将会更容易。