我如何将大量输入长度约为100000位
How do I take large numbers of input around 100000 digits in length
我想在可变k的c 中进行大量输入,其值在2到$ 10^{100000} $。
之间。我无法做到这一点。
我尝试了很长的时间,但行不通。
来源:https://www.codechef.com/july19b/problems/mmax
'unsigned long'是最大的,大约是10^19。另外,可观察到的宇宙中有10^82个原子。
诀窍是将数字读为字符串,而不是某种数字数据类型。我使用此片段来阅读大量,这是基于对Quora的类似问题的答案:
string s;
int b, c;
c = s.size();
int arr[c];
b = 0;
while(b != c)
{
arr[b] = s[b] - '0';
b++;
}
之后,您可以用结果数组而不是输入号进行操作。
相关文章:
- 如何将输入值拆分为4位矢量,就像将n位拆分为每部分矢量的半字节一样
- 如何为用户设置仅输入 4 位代码的限制?
- 使用 Murmur2 64 位哈希函数生成会导致冲突的输入
- 以8位数字形式输入日期并以英文形式显示
- 从 2 位输入输出 4 位数字年份
- 我如何将大量输入长度约为100000位
- 查找两个二进制输入 C++ 的 xNOR 位
- 位集<10>和位集<2>(输入[i])的差异,需要解释
- 当我输入12位数字时,为什么以下代码崩溃
- 输入64位数字
- 从缓冲区输入的位
- 如何在 c++ 中输入 128 位无符号整数
- 位标志作为例程中的输入进行验证
- 验证用户输入是5位数字
- 读取12位输入c++
- 找到用户输入的每个4位数字,并使用递归进行计数
- setw() 在包含 UTF-8 多字节字符/码位的字符串上输入错误的输出
- 无符号字符不输入所有 3 位数字
- 如何将用户输入的最小值限制为流大小减去一位
- 2位输入的表达式树