2 条题解

  • 1
    @ 2025-1-13 15:21:38

    一道小模拟

    #include <bits/stdc++.h>
    using namespace std;
    string a,b;
    int x[100000],y[100000];
    int z[100000];
    int main(){
    	cin>>a>>b;
    	int len=max(a.size(),b.size());
    	//逆置转整 
    	for(int i=a.size()-1,j=0;i>=0;i--,j++){
    		x[j]=a[i]-'0';
    	}
    	for(int i=b.size()-1,j=0;i>=0;i--,j++){
    		y[j]=b[i]-'0';
    	}
    	//加
    	for(int i=0;i<len;i++){
    		z[i]+=x[i]+y[i];
    		if(z[i]>=10){
    			z[i]-=10;
    			z[i+1]+=1;
    		}
    	}
    	//输出
    	int f=0;//无效输出 
    	for(int i=len;i>=0;i--){
    		if(z[i]!=0){
    			f=1;
    		}
    		if(f==1){
    			cout<<z[i];
    		}
    	}
    	return 0; 
    }
    
    • @ 2025-1-13 15:23:06

      我的数组有点小,要开大,复制只能得80

信息

ID
5659
时间
1000ms
内存
512MiB
难度
2
标签
递交数
125
已通过
67
上传者