5 条题解

  • -1
    @ 2023-5-3 11:27:16

    高精度

    #include<bits/stdc++.h>
    using namespace std;
    char s1[1000],s2[1000];
    int a[10000],b[10000],c[10000],lena,lenb,lenc;
    int main()
    {
        gets(s1);
        gets(s2);
        lena=strlen(s1);
        lenb=strlen(s2);
        for(int i=0;i<lena;i++){
        	a[i+1]=s1[lena-1-i]-'0';
    	}
    	for(int i=0;i<lenb;i++){
        	b[i+1]=s2[lenb-1-i]-'0';
    	}
    	for(int i=1;i<=max(lena,lenb);i++){
    		c[i]=b[i]+a[i];
    	}
    	for(int i=1;i<=max(lena,lenb);i++){
    		if(c[i]>9){
    			c[i]=c[i]%10;
    			c[i+1]++;
    		}
    	}
    	if(c[max(lena,lenb)+1]==0){
    		lenc=max(lena,lenb);
    	}
    	else{
    		lenc=max(lena,lenb)+1;
    	}
    	for(int i=lenc;i>=1;i--){
    		cout<<c[i];
    	} 
        return 0;
    }
    

    信息

    ID
    100
    时间
    1000ms
    内存
    16MiB
    难度
    6
    标签
    递交数
    101
    已通过
    30
    上传者