问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

HDOJ1230 http://acm.hdu.edu.cn/showproblem.php?pid=1230 Runtime Error 请问哪里出错了请高手指点~!

发布网友 发布时间:2022-04-14 20:12

我来回答

1个回答

热心网友 时间:2022-04-14 21:41

(1)数组不够大.例如,以下输入:
1 88,82,78,70,66,60,58,52,46,42,40,36,30,38,22,18,16,12,10,6,4,2,1,0
第2个数据的字符串长度超过51.考虑到进位,素数的个数也超过25.
(2)m和n不应是是字符串长度,而应是数据的位数,即逗号的个数加1.

原来提交测试时,由于越界,所以出现Runtime Error.

以下修改AC:
#include <iostream>
#include <cmath>
using namespace std;

int main()
{
char a1[80],a2[80];//char a1[51],a2[51];
int b1[40],b2[40],b3[40],c[40],i,j,k,m,n;//int b1[25],b2[25],b3[26],c[26],i,j,k,m,n;
c[0]=2,c[1]=3;
for(i=4,j=2;;++i) //算出前26位的素数
{
k=sqrt(i*1.0);
for(m=2;m<=k;++m)
{
if(i%m==0) break;
else if(m==k) c[j++]=i;
}
if(j>40) break;//if(j>26) break;
}
while(cin>>a1>>a2)
{
if(a1[0]=='0'&&a2[0]=='0') break;
memset(b1,0,sizeof(b1));
memset(b2,0,sizeof(b2));
memset(b3,0,sizeof(b3));
i=strlen(a1);
m=1;//m=i;
for(j=0,--i;i>=0;--i)
if(a1[i]!=',')
{
if(a1[i-1]!=','&&i-1>=0)
{
b1[j++]=(a1[i]-'0')+(a1[i-1]-'0')*10;//计算为2位数是的情况
--i;
}
else b1[j++]=a1[i]-'0';
}
else m++; //added
j=strlen(a2);
n=1;//n=j;
for(i=0,--j;j>=0;--j)
if(a2[j]!=',')
{
if(a2[j-1]!=','&&j-1>=0)
{
b2[i++]=(a2[j]-'0')+(a2[j-1]-'0')*10;
--j;
}
else b2[i++]=a2[j]-'0';
}
else n++;//added
n=m>n?m:n;
for(m=0;m<n;++m)
{
b3[m]+=b1[m]+b2[m];
if(b3[m]>=c[m]) //判断是否超过对应位数的素数
b3[m+1]++;
b3[m]%=c[m];
}
for(;n>=0;--n)
{
if(b3[n]==0)continue; //可能有进位对进位后刚好为1的进行判断
else
for(;n>=0;--n)
{
cout<<b3[n];
if(n!=0)cout<<",";
}
cout<<endl;
}
}
return 0;
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
长沙到西昌。坐火车先从长沙到成都、成都东,再到西昌,哪个方便一些 S先生与P先生谜题的题面 为什么首都设在襄阳 改姓可以不随父母性吗 韩艺瑟怎么改姓? 纸、墨、笔、砚是中国传统的文房四宝,墨的使用最早在 [ ] A.商代后期... 想问下创维光伏E企赢模式有哪些优势,到底值不值得投资啊?有没有合作... 太平洋太享e保百万医疗值得入手吗?每年花多少钱? 爱e满分适合哪些人买?注意哪些问题? 太平洋太享e保百万医疗适合哪些人买?价格多少? 恢复手机的出厂设置所需要的YunOS密码是什么? 奉献爱心 扶贫济困的公益广告 yunos账号密码是什么? 写两条关爱他人的公益广告词 yunos密码是什么?居然不会用 帮我设计一句有关爱心的公益广告用语,如:爱心可以让死神望而却步。 yunos系统平板电脑忘记密码了怎么办 像这样有一意思的公益广告语生活中还有很多,请你收集几句,认真抄下来? 跪求有什么好看的奇幻电视剧,【在线观看】免费百度云资源 摩托车多少换一次机油。 摩托车机油还剩一点需要换吗? 豪爵女装摩托车换机油换多少 如何用美图秀秀p图,旋转我知道,但是如何换衣服颜色?如下图 美图秀秀化妆换衣服的功能在哪里? 中国传统礼仪行礼的集锦你见过吗? 群发助手发完后,对方能查到我发给了几个人吗? 美图秀秀怎么换衣服 美图秀秀怎么换衣服,难道不穿衣服照? excell一个单元格包含另外一个单元格,取其它列对应值,请问公式怎么写?谢谢 请问怎么在excel编写含有加减乘除的复合计算公式? 求解.. 梦见挑婚纱 梦见自己结婚选婚纱犹豫不定 一个人登另一个人的微信之后要怎么退回来? 帐号在他人手机上登录,如何退出? 东湖公园的作文怎么写 350字 游民勤东湖公园作文怎么写? 记东湖公园400字作文怎么写? 写梅城东湖公园景色作文450 作文美丽的东湖公园110字 淮北的东湖公园作文 关于广州江门的东湖公园的作文50字以上 锦州东湖公园400字作文 写江门东湖公园的作文 写深圳东湖公园的公园的作文450字 东湖公园作文三年级上123字 作文:东湖公园(按四季顺序)300字 锦州东湖公园作文600字 写东湖公园的景色的作文 苏州站附近哪有免费的停车场 想停五六天 苏州火车站附近停车收费如何?有没有便宜的求推荐,我要停一天,急,在线等,谢谢