zoukankan      html  css  js  c++  java
  • 【算法】大数相加

    参考1:

    https://www.xuebuyuan.com/2224758.html

    类似问题1:多项式相加

    类似问题2:大数相加减乘除

    类似问题3:。。。

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #define MAX 100
    
    void plus(char *a, char *b);
    
    int main(void)
    {
        char a[MAX], b[MAX];
    
        gets(a);
        gets(b);
        plus(a, b);
        return 0;
    }
    
    void plus(char *a, char *b)
    {    
        char c[MAX+1];
        int len_a = strlen(a);
        int len_b = strlen(b);
        int i = len_a - 1; // 字符串a倒序
        int j = len_b - 1; // 字符串b倒序
        int k = 0; // 字符串c正序 c[k] = a[i] - b[j];
        int flag = 0; // 是否本次有进位,有的话在下一次循环加1;
        int x, y, z; // 相加的临时变量x = a[i], y = b[j], z = x- y
    
        while(i >= 0 || j >= 0)
        {
            if(i < 0)
                x = '0';
            else
                x = a[i];
    
            if(j < 0)
                y = '0';
            else
                y = b[j];
    
            z = x - '0' + y - '0';
            if(flag)
                z += 1;
            if(z > 9)
            {
                flag = 1;
                z = z % 10;
            }
            else
                flag = 0;
            c[k++] = z + '0';
            i--;
            j--;
        }
        
    
        if(flag)
            c[k++] = '1';
        c[k++] = '';
        
    
        for(int p = strlen(c) - 1; p>=0; p--)
        {
            printf("%c ", c[p]);
        }
        printf("
    ");
    }


     

  • 相关阅读:
    python反爬之js混淆-字符串映射
    How to Provide a Default Trace for a Cloud Application
    Reset Peak Used Memory
    SAP 课程
    note 1639578 and 1622837
    SAP License error
    SAP BASIS-System Move
    初识Agile(敏捷项目管理)
    SAP HANA升级
    SAP FIORI 部署
  • 原文地址:https://www.cnblogs.com/paprikatree/p/10529466.html
Copyright © 2011-2022 走看看