zoukankan      html  css  js  c++  java
  • 大整数减法

    求两个大的正整数相减的差。

    输入格式

    共 22 行,第 11 行是被减数 aa,第 22 行是减数 b(a > b)b(a>b)。每个大整数不超过 200200 位,不会有多余的前导零。

    输出格式

    一行,即所求的差。

    输出时每行末尾的多余空格,不影响答案正确性

    样例输入

    9999999999999999999999999999999999999
    9999999999999

    样例输出

    9999999999999999999999990000000000000
     1 #include<iostream>
     2 #include<cstring>
     3 using namespace std;
     4 void sub( char *s1, char *s2, char *t )
     5 {
     6     int len2, len1, k;
     7     len2    = strlen( s2 );
     8     len1 = strlen( s1 );
     9     t[len1]= '';
    10     len1--;
    11     for (int i = len2 - 1; i >= 0; i--, len1-- )
    12     {
    13         if ( s1[len1] - s2[i] >= 0 )
    14             t[len1] = s1[len1] - s2[i] + '0';
    15         else{
    16             t[len1] = 10 + s1[len1] - s2[i] + '0';
    17             s1[len1-1]  = s1[len1 - 1] - 1;
    18         }
    19     }
    20     //s1 -s2 完之后还可能出现s1 还剩头没处理,而且可能减完s2以后出现有 借位
    21     k = len1;
    22     while ( s1[k] < '0' )
    23     {
    24         s1[k] += 10;
    25         s1[k - 1] -= 1;
    26         k--;
    27     }
    28     //处理完-的以后,直接放s1高位
    29     while ( len1 >= 0 )
    30     {
    31         t[len1] = s1[len1]; 
    32         len1--;
    33     }
    34     int record;
    35     len1 = strlen( s1 );
    36     for (int i = 0; i < len1; i++)
    37     {
    38         if (t[i]!='0')
    39         {
    40             record=i;
    41             break;
    42         }
    43     }
    44     for (int i = record; i < len1; i++)
    45     {
    46         cout<<t[i];
    47     }
    48 }
    49 int main(){
    50     char a[202],b[202],c[202];
    51     gets(a);
    52     gets(b);
    53     sub(a,b,c);
    54 
    55 }

     

    因上求缘,果上努力~~~~ 作者:每天卷学习,转载请注明原文链接:https://www.cnblogs.com/BlairGrowing/p/12678533.html

  • 相关阅读:
    百度小程序优化总结
    Java程序线上故障排查
    常用文本处理命令
    命令行笔记
    Java对象深拷贝浅拷贝总结
    SSH命令总结
    linux学习问题总结
    linux进程管理总结
    Java网络编程中异步编程的理解
    JVM内存管理的一些思考
  • 原文地址:https://www.cnblogs.com/BlairGrowing/p/12678533.html
Copyright © 2011-2022 走看看