zoukankan      html  css  js  c++  java
  • 【ACM】nyoj_103_A+BII_201307291022

    A+B Problem II
    时间限制:3000 ms  |  内存限制:65535 KB
    难度:3
    描述
    I have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B.

    A,B must be positive.

    输入
    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.
    输出
    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.
    样例输入
    2
    1 2
    112233445566778899 998877665544332211
    样例输出
    Case 1:
    1 + 2 = 3
    Case 2:
    112233445566778899 + 998877665544332211 = 1111111111111111110

    #include <stdio.h>
    #include <string.h>
    #define MAX_LEN 1000
    int an1[MAX_LEN+100];
    int an2[MAX_LEN+100];
    char str1[MAX_LEN+100];
    char str2[MAX_LEN+100];
    int main()
    {
     int k,N;
     scanf("%d",&N);
     for(k=1;k<=N;k++)
     {  
      int i,j,len1,len2;
      memset(an1,0,sizeof(an1));
      memset(an2,0,sizeof(an2));
      scanf("%s%s",str1,str2);
      len1=strlen(str1);
      for(j=0,i=len1-1;i>=0;i--)
      an1[j++]=str1[i]-'0';
      len2=strlen(str2);
      for(j=0,i=len2-1;i>=0;i--)
      an2[j++]=str2[i]-'0';
      for(i=0;i<MAX_LEN;i++)
      {
      an1[i]+=an2[i];
      if(an1[i]>=10)
      {
       an1[i]-=10;
       an1[i+1]++;
      }
      }
      printf("Case %d: ",k);
      printf("%s + %s = ",str1,str2);
      for(i=MAX_LEN+100;(i>=0)&&(an1[i]==0);i--);
      if(i>=0)
      for(;i>=0;i--)
      printf("%d",an1[i]);
      else
      printf("0");
      printf(" ");
     }
     return 0;
    }

    hdu_1002_A+BII_bignum_201307291100

    #include <stdio.h>
    #include <string.h>
    #define MAX_LEN 1000
    int an1[MAX_LEN+100];
    int an2[MAX_LEN+100];
    char str1[MAX_LEN+100];
    char str2[MAX_LEN+100];
    int main()
    {
     int k,N,t=0;
     scanf("%d",&N);
     for(k=1;k<=N;k++)
     {  
      int i,j,len1,len2;
      memset(an1,0,sizeof(an1));
      memset(an2,0,sizeof(an2));
      scanf("%s%s",str1,str2);
      len1=strlen(str1);
      for(j=0,i=len1-1;i>=0;i--)
      an1[j++]=str1[i]-'0';
      len2=strlen(str2);
      for(j=0,i=len2-1;i>=0;i--)
      an2[j++]=str2[i]-'0';
      for(i=0;i<MAX_LEN;i++)
      {
      an1[i]+=an2[i];
      if(an1[i]>=10)
      {
       an1[i]-=10;
       an1[i+1]++;
      }
      }
      printf(t++?" Case %d: ":"Case %d: ",k);
      printf("%s + %s = ",str1,str2);
      for(i=MAX_LEN+100;(i>0)&&(an1[i]==0);i--);  
      for(;i>=0;i--)
      printf("%d",an1[i]);
      printf(" ");
     }
     return 0;
    }

    较之上个程序有所修改,输出部分有所简化

  • 相关阅读:
    《C语言》for语句(8)
    解决vue vue.runtime.esm.js?2b0e:619 [Vue warn]: Error in nextTick: “TypeError: Cannot convert undefine
    React中WebSocket使用以及服务端崩溃重连
    React Native 中 react-navigation 导航器的使用 [亲测可用]
    ueditor 修改内容方法报错no funtion解决方式
    nodeJs与elementUI实现多图片上传
    Vue多页面开发案例
    Vue.js Cli 3.0 多页面开发案例解析
    基于node.js 微信支付notify_url回调接收不到xml
    react-image-gallery 加入视频图片混合显示
  • 原文地址:https://www.cnblogs.com/xl1027515989/p/3222438.html
Copyright © 2011-2022 走看看