m0_65699050 2022-09-08 15:27 采纳率: 80%
浏览 16

超出堆区,如何实现输入超过80,000,000的字符串

问题遇到的现象和发生背景

有多组输入,每组输入占一行
每行一串二进制数,长度 不少于 80,000,000。
如果对应的十进制数可以被3整除则输出yes,否则输出no;

问题相关代码,请勿粘贴截图

#include
#include<string.h>
int count(char, int, int);//逐位取余函数
using namespace std;
int main()
{
char a[20000];
while (cin >> a)
{
int n = 0, s = 0, i = 0; n = strlen(a);
// cout<<n<<endl;
for (i = 0; i < n; i++)
s += count(a[i], i, n - 1);
if (s % 3 == 0)
cout << "yes" << endl;
else
cout << "no" << endl;

}
return 0;

}
int count(char a, int i, int n)
{
int b = 'a' - '0', s = 1;
if (b == 0)
return 0;
else
for (i; i < n; i++)
s *= 2;
return s;
}

运行结果及报错内容

runtime error(非法内存访问,分段错误)

我的解答思路和尝试过的方法

二维数组也没成功;

我想要达到的结果

如何实现输入超过80,000,000的字符串

  • 写回答

2条回答 默认 最新

  • 快乐鹦鹉 2022-09-08 15:33
    关注

    8千万,差不多80M字节,你动态分配空间
    问题是最少80M,那最多呢?1000T?
    你用cin输入,那不得输入几辈子?

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 9月8日

悬赏问题

  • ¥15 解决一个加好友限制问题 或者有好的方案
  • ¥15 关于#java#的问题,请各位专家解答!
  • ¥15 急matlab编程仿真二阶震荡系统
  • ¥20 TEC-9的数据通路实验
  • ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
  • ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
  • ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
  • ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
  • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?
  • ¥30 求解达问题(有红包)