zoukankan      html  css  js  c++  java
  • 大数A+B

    A + B Problem II

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
    Total Submission(s): 314120    Accepted Submission(s): 60873


    Problem Description
    I have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B.
     

    Input
    The first line of the input contains an integer T(1<=T<=20) which means the number of test cases. Then T lines follow, each line consists of two positive integers, A and B. Notice that the integers are very large, that means you should not process them by using 32-bit integer. You may assume the length of each integer will not exceed 1000.
     

    Output
    For each test case, you should output two lines. The first line is "Case #:", # means the number of the test case. The second line is the an equation "A + B = Sum", Sum means the result of A + B. Note there are some spaces int the equation. Output a blank line between two test cases.
     

    Sample Input
    2 1 2 112233445566778899 998877665544332211
     

    Sample Output
    Case 1: 1 + 2 = 3 Case 2: 112233445566778899 + 998877665544332211 = 1111111111111111110
     

    Author
    Ignatius.L

    #include<cstdio>
    #include<cstdlib>
    #include<cstring>
    #include<cmath>
    char a[1001],b[1001],p[1001],q[1001];
    int max(int x,int y)
    {
    	int wei=x>y?x:y;
    	return wei;
    }
    int main()
    {
    	int t,cut=0;
    	scanf("%d",&t);
    
    	while(t--)
       { 
           cut++;
         scanf("%s%s",&a,&b);
         	//printf("%s %s
    ",a,b);
         	memset(q,0,sizeof(q));
         	memset(p,0,sizeof(p));
    	int n=strlen(a),m=strlen(b);
    	int wei=max(n,m);
    		//printf("%d
    ",wei);
    		for(int i=0;i<n;i++)
    		{
    			q[i]=a[n-1-i]-'0';
    		}
    			for(int i=0;i<m;i++)
    		{
    		    p[i]=b[m-1-i]-'0';
    		}
    		
    	for(int i=0;i<wei;i++)
    	{
          q[i]=q[i]+p[i];
          if(q[i]>9)
          {
          	q[i]=q[i]%10;
          q[i+1]++;
    	  }
          
    	}
    	printf("Case %d:
    ",cut);
    	printf("%s + %s = ",a,b);
    	int j;
    	if(q[wei]==0)
         {
    	for(j=wei-1;j>=0;j--)
    	{
    		printf("%d",q[j]);
    
    	}
    	printf("
    ");
        }
    	else
    	{
    			for(j=wei;j>=0;j--)
    	{
    		printf("%d",q[j]);
    	}
    	   	    		printf("
    ");	    
    	}
    	
    	if(t!=0)
    	printf("
    ");
    	   
        }
    	return 0;
    }

  • 相关阅读:
    vue-cli(脚手架)学习
    vue-cli(脚手架)
    js时间戳转时间格式
    jQ获取窗口尺寸
    前端加密MD5
    vue项目准备工作(一)
    Oracle数据错删找回
    正则表达式匹配【全角字符】
    数据库分区、分表、分库、分片
    oracle的 分表 详解 -----表分区
  • 原文地址:https://www.cnblogs.com/kingjordan/p/12027232.html
Copyright © 2011-2022 走看看