问题标题: 酷町堂:小 学 市 赛 r p + + !!!

0
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
墨风
墨风
资深守护
资深守护
while(1){
    cout<<"01";
}

电影背景来一个

0
0
李显晨
李显晨
中级启示者
中级启示者

好家伙

PS:市赛加油!!!

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
我要回答