n个大数加法(高精度)

简介:

#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
int dx(char a[])
{
    int tmp,len;
    len=strlen(a);
    for(int i=0;i<len/2;i++)
    {
        tmp=a[i];
        a[i]=a[len-1-i];
        a[len-1-i]=tmp;
    }
}
int add(char a[],char b[],char c[])
{
    int i,d,e,len1,len2;
    len1=strlen(a);
    len2=strlen(b);
    dx(a);
    dx(b);
    e=0;
    for(i=0;i<len1&&i<len2;i++)
    {
        d=a[i]-'0'+b[i]-'0'+e;
        c[i]=d%10+'0';
        e=d/10;
    }
    if(i<len1)
    {
        for(;i<len1;i++)
        {
            d=a[i]-'0'+e;
            c[i]=d%10+'0';
            e=d/10;
        }
    }
    else
    {
        for(;i<len2;i++)
        {
            d=b[i]-'0'+e;
            c[i]=d%10+'0';
            e=d/10;
        }
    }
    if(e)
    c[i++]=e+'0';
    c[i]=0;
    int t=i;
    dx(c);
}
int main()
{
    int m,n;
    while(cin>>m)
    {
        char a[110],b[110],c[110],d[110],f[110];
        if(m==1)
        cout<<m<<endl;
        else
        {
            cin>>a>>b;
            add(a,b,c);
            for(int i=3;i<=m;i++)
            {
               cin>>d;
               add(c,d,f);
               strcpy(c,f);
            }
            cout<<c<<endl;
        }
    }
    return 0;
}
目录
相关文章
|
机器学习/深度学习
高精度训练专题一
高精度训练专题一
123 0
|
传感器 数据采集 算法
UWB高精度定位技术原理与实现
**UWB的定义** UWB(Ultra Wide Band,超宽带)技术是一种新型的无线通信技术,其与传统通信技术有很大的差异。 在传统通信体制中,数据传输一般都需要使用载波来承载,UWB则不需要,取而代之的是通过发送和接收具有纳秒甚至亚纳秒级的极窄脉冲来传输数据,一个信息比特可映射为数百个这样的脉冲。
348 0
UWB高精度定位技术原理与实现
|
存储 人工智能 算法
C++基础算法高精度篇
C++基础算法高精度篇
103 0
|
算法
高精度算法模板
高精度算法模板
113 0
|
传感器 监控 物联网
uwb高精度定位系统的原理与应用
UWB人员定位系统的原理是将接收器和发射聚放置在不同的位置,并向信标发送超宽带无线电波。根据接收器所接收到的信号与信标的位置和时刻,可以计算出接收器与信标之间的距离,并推算出接收器的实时位置。通过计算定位精度,可以精确的定位人员的位置。
267 1
uwb高精度定位系统的原理与应用
|
10月前
光学雨量计自动化、高精度和实时监测降水量
光学雨量计是一种高精度测量降水量的理想解决方案。随着科技的进步,传统的雨量计存在一些局限性,如需要人工读取数据、易受环境影响等。而光学雨量计则利用光学原理,实现了自动化、高精度和实时监测降水量的功能。
光学雨量计自动化、高精度和实时监测降水量
|
10月前
光学雨量计:高精度测量降水量的理想解决方案
光学雨量计:高精度测量降水量的理想解决方案
光学雨量计:高精度测量降水量的理想解决方案