1 条题解

  • 0
    @ 2025-4-7 21:19:28

    C :

    #include<stdio.h>
    #include<string.h>
    #define N 1010
    int main()
    {
        char num1[N],num2[N];
        int i,c,k,n,len1,len2;
        while(scanf("%s%s",num1,num2)!=EOF)
    	{
            int a[N]={0},b[N]={0};
            len1=strlen(num1);
            len2=strlen(num2);
            if(len1<len2)
                k=len2;
            else
                k=len1;
            c=k;
            for(i=0;i<len1;i++,k--)
                a[k]=num1[len1-1-i]-'0';
            for(i=0,k=c;i<len2;i++,k--)
                b[k]=num2[len2-1-i]-'0';
            for(i=c;i>0;i--)
    		{
                a[i]+=b[i];
                if(a[i]>=10)
    			{
                    a[i]-=10;
                    a[i-1]++;
                }
            }
            if(a[0]!=0)
    		{
                for(i=0;i<=c;i++)
                    printf("%d",a[i]);
            }
            else
    		{
                for(i=1;i<=c;i++)
                    printf("%d",a[i]);
            }
            printf("\n");
        }
        return 0;
    }
    
    
    

    C++ :

    #include<stdio.h>
    #include<string.h>
    
    void Add(char *str1,char *str2,char *str3)
    {
    	int i,j,i1,i2,tmp,carry;
    	int len1=strlen(str1),len2=strlen(str2);
    	char ch;
    	i1=len1-1;
    	i2=len2-1;
    	j=carry=0;
    	for(;i1>=0&&i2>=0;++j,--i1,--i2)
    	{
    		tmp=str1[i1]-'0'+str2[i2]-'0'+carry;
    		carry=tmp/10;
    		str3[j]=tmp%10+'0';
    	}
    	while(i1>=0)
    	{
    		tmp=str1[i1--]-'0'+carry;
    		carry=tmp/10;
    		str3[j++]=tmp%10+'0';
    	}
    	while(i2>=0)
    	{
    		tmp=str2[i2--]-'0'+carry;
    		carry=tmp/10;
    		str3[j++]=tmp%10+'0';
    	}
    	if(carry)
    		str3[j++]=carry+'0';
    	str3[j]='\0';
    	for(i=0,--j;i<j;++i,--j)
    	{
    		ch=str3[i];
    		str3[i]=str3[j];
    		str3[j]=ch;
    	}
    }
    
    int main()
    {
    	char a[1001],b[1001],ans[1005];
    	while(scanf("%s%s",a,b)!=EOF)
    	{
    		Add(a,b,ans);
    		puts(ans);
    	}
    	return 0;
    }
    

    Java :

    
    
    import java.math.BigInteger;
    import java.util.Scanner;
    
    public class Main {
       private static Scanner s = new Scanner(System.in) ;
       public static void main(String[] args) {
    	 while (s.hasNext()) {
    		 BigInteger a = s.nextBigInteger() ;
    		 BigInteger b = s.nextBigInteger() ;
    		 
    		 System.out.println(add(a, b));
    		
    	}
    	 
       }
       
       public static BigInteger add(BigInteger a , BigInteger b){
    	   return a.add(b) ;
       }
    }
    
    

    Python :

    while 1:
        a,b=raw_input().split()
        print(int(a)+int(b))
    
    • 1

    信息

    ID
    1133
    时间
    1000ms
    内存
    32MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者