1 条题解

  • 0
    @ 2024-7-8 16:12:09
    //75分代码
    #include <bits/stdc++.h>
    using namespace std;
    int a[110000000],b[11000000],c[21000000];
    char x[110000000],y[11000000];
    int main(){
    	cin>>x>>y;
    	int l1=strlen(x),l2=strlen(y);
    	for(int i=l1-1;i>=0;i--){
    		a[i]=x[l1-i-1]-'0';
    	}
    	for(int i=l2-1;i>=0;i--){
    		b[i]=y[l2-i-1]-'0';
    	}
    	int i=1;
    	a[0]--;
    	while(a[i-1]<0){
    		a[i-1]+=10;
    		a[i]--;
    		i++;
    	}
    	i=1;
    	b[0]--;
    	while(b[i-1]<0){
    		b[i-1]+=10;
    		b[i]--;
    		i++;
    	}
    	for(i=0;i<l1;i++){
    		for(int j=0;j<l2;j++){
    			c[i+j]+=a[i]*b[j];
    			if(c[i+j]>=10){
    				c[i+j+1]+=c[i+j]/10;
    				c[i+j]=c[i+j]%10;
    			}
    		}
    	}
    	int k=209;
    	while(c[k]==0)k--;
    	while(k>=0)cout<<c[k--];
    	return 0;
    }
    
    • 1

    信息

    ID
    2049
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    递交数
    10
    已通过
    0
    上传者