zoukankan      html  css  js  c++  java
  • 高精度加法

        #include<iostream>
        #include<cstdio>
        #include<algorithm>
        #include<cmath>
        #include<cstring>
        #include<string>
        using namespace std;
        char a1[1000],b1[1000];
        int a[1000],b[1000],c[1000];
        int main()
        {
            scanf("%s",a1);scanf("%s",b1);//scanf就爆0!
            if(a1[0]==48&&b1[0]==48)
            {
                cout<<"0"<<endl;
                return 0;
            }
            int lena=strlen(a1),lenb=strlen(b1);
            for(int i=0;i<lena;i++)
            {
                a[lena-i-1]=int(a1[i]-48);
            }
            for(int i=0;i<lenb;i++)
            {
                b[lenb-i-1]=int(b1[i]-48);//倒序输入便于进位
            }
            int m=max(lena,lenb);
            for(int i=0;i<m;i++)
            {

    这里也可以用另一种方法
    int x;
    c[i]+a[i]+b[i]+x;
    x=c[i]/10;
    c[i]%=10;


                c[i]+=a[i]+b[i];//不能直接赋值,要加上前面的进位
                while(c[i]>=10)
                {
                    c[i+1]++;
                    c[i]-=10;
                }
            }
            m++;
            while(c[m]==0)    m--; //删除前导0
            for(int i=m;i>=0;i--)
                cout<<c[i];
            cout<<endl;
            return 0;
    }

    高精很重要啊!!!!!

  • 相关阅读:
    解决PLSQL Developer中文横着显示的问题
    品优购_day06
    品优购_day05
    品优购_day04
    品优购_day03
    品优购_day02
    java 学习中遇到的问题(二)泛型中<? extends T>和<? super T>的区别
    java 学习中遇到的问题(一)方法调用中的值传递和引用传递
    java中的字符串比较
    自学java 第十一章持有对象
  • 原文地址:https://www.cnblogs.com/this-is-M/p/10464550.html
Copyright © 2011-2022 走看看