0
已解决
黄依成
中级天翼
中级天翼
w h i l e ( 1 ) {
r p + + ;
}
黄依成在2020-11-14 08:32:09追加了内容
等等,上面的代码会爆int,修改亿下
多 快 乐 啊
#include<iostream>
#include<cstring>
using namespace std;
int a[1005],b[1005],c[1005];
string Plus(string x,string y){
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
a[0]=x.size(),b[0]=y.size(),c[0]=max(a[0],b[0]);
for(int i=1;i<=a[0];i++) a[i]=x[a[0]-i]-'0';
for(int i=1;i<=b[0];i++) b[i]=y[b[0]-i]-'0';
int jw=0;string ans="";
for(int i=1;i<=c[0];i++){c[i]=a[i]+b[i]+jw,jw=c[i]/10,c[i]%=10;}
if(jw>0){c[0]++,c[c[0]]=jw;}
for(int i=1;i<=c[0];i++) ans=char(c[i]+'0')+ans;
return ans;
}
int main(){
string rp="0";//rp原来为0
while(1){
rp=Plus(rp,"1");//真快乐
cout<<rp<<endl;
}
return 0;
}
好 家 伙
黄依成在2020-11-14 08:32:14追加了内容
等等,上面的代码会爆int,修改亿下
多 快 乐 啊
#include<iostream>
#include<cstring>
using namespace std;
int a[1005],b[1005],c[1005];
string Plus(string x,string y){
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
a[0]=x.size(),b[0]=y.size(),c[0]=max(a[0],b[0]);
for(int i=1;i<=a[0];i++) a[i]=x[a[0]-i]-'0';
for(int i=1;i<=b[0];i++) b[i]=y[b[0]-i]-'0';
int jw=0;string ans="";
for(int i=1;i<=c[0];i++){c[i]=a[i]+b[i]+jw,jw=c[i]/10,c[i]%=10;}
if(jw>0){c[0]++,c[c[0]]=jw;}
for(int i=1;i<=c[0];i++) ans=char(c[i]+'0')+ans;
return ans;
}
int main(){
string rp="0";//rp原来为0
while(1){
rp=Plus(rp,"1");//真快乐
cout<<rp<<endl;
}
return 0;
}
好 家 伙
0
0
0
0
0
0
0
0
0
曹灿阳
初级天翼
初级天翼
把你的代码优化一下:
#include<iostream>
#include<cstring>
using namespace std;
int a[1005],b[1005],c[1005];
string operator+(string x,string y){
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
a[0]=x.size(),b[0]=y.size(),c[0]=max(a[0],b[0]);
for(int i=1;i<=a[0];i++) a[i]=x[a[0]-i]-'0';
for(int i=1;i<=b[0];i++) b[i]=y[b[0]-i]-'0';
int jw=0;string ans="";
for(int i=1;i<=c[0];i++){c[i]=a[i]+b[i]+jw,jw=c[i]/10,c[i]%=10;}
if(jw>0){c[0]++,c[c[0]]=jw;}
for(int i=1;i<=c[0];i++) ans=char(c[i]+'0')+ans;
return ans;
}
int main(){
string rp="0",a="1";//rp原来为0
while(1){
rp=rp+a;//真快乐
cout<<rp<<endl;
}
return 0;
}
0
0