【发布时间】:2020-03-26 05:57:04
【问题描述】:
我有一个需要处理变量的问题
1
其中一个测试用例适用于一个值:
3141592653589793238462643383279502884197169399375
并使用 unsigned long long int,程序将此值的最大值视为:
18446744073709551615
显然,我需要存储一个更大的值。
我该如何解决这个问题?
#include <iostream>
using namespace std;
int main()
{
unsigned long long int N;
cin >> N;
unsigned long long int Z;
int result = 0;
unsigned long long int num = N;
while (N > 0) {
Z += N % 10;
N /= 10;
}
while (Z % 9 != 0) {
Z += num;
result++;
}
cout << Z;
return 0;
}
【问题讨论】:
-
使用
std::strings -
@ThePhilomath 我应该如何实现呢?
-
然后...?那么,什么,N 是你想要操纵的巨大数字?如果是这样,您可能应该首先查看 GMP 库,如果您可以接受它的许可。
-
@James:或者 MPIR。我一直更喜欢这一点,因为 GMP(至少在我与他们打交道时)非常无益,而 MPIR 人员似乎竭尽全力提供帮助。 YMMV。
标签: c++ variables int unsigned bigint