zoukankan      html  css  js  c++  java
  • 大整数加法(高精度)

    对于一些超过100位的大整数,我们不可能直接去计算,
    否者将超出编译器的规定范围而出错!!!所以,你只能
    利用字符串数组的知识来解这样的题,呵呵呵!!!
    不多说了,下面看程序吧!!哈

    #include<iostream>
    #include<cstring>
    using namespace std;
    int main()
    {
     int Num[105][105];
     char num[105];
     int answer[105];
     int i,j,k,l,m,c,s;
     int N;
     cin>>N;//N 代表有N个测试实例!!!
     while(N--)
     {
          getchar();
       memset(Num,0,sizeof(Num));
       memset(num,0,sizeof(num));
       for(i=0;i<105;i++)
       {
        gets(num);
        if(strcmp(num,"0")==0)
         break;
        int len=strlen(num);
             for(j=len-1,k=0;j>=0;j--,k++)
       Num[i][k]=num[j]-'0';
     
       } c=0;
      
       for(m=0,j=0;m<105;j++,m++)
       {
       s=0;
        for(l=0;l<=i-1;l++)
          s+=Num[l][m];
          s+=c;
          Num[l][m]=s%10;
       c=s/10;
             answer[j]=Num[l][m];
       }
     

       for(i=104;i>=0;i--)
       if(answer[i]!=0)
         break;
          for(j=i;j>=0;j--)
       cout<<answer[j];
       cout<<endl;
     }
     return 0;
    }

  • 相关阅读:
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
  • 原文地址:https://www.cnblogs.com/xiohao/p/2783334.html
Copyright © 2011-2022 走看看