问题 A: a+b

时间限制: 1 Sec  内存限制: 32 MB
提交: 285  解决: 124
[提交][状态][讨论版][命题人:外部导入]

题目描述

实现一个加法器,使其能够输出a+b的值。

输入

输入包括两个数a和b,其中a和b的位数不超过1000位。

输出

可能有多组测试数据,对于每组数据,
输出a+b的值。

样例输入

6 8
2000000000 30000000000000000000

样例输出

14
30000000002000000000
#include<bits/stdc++.h>

using namespace std;
const int N=1e3+;
char a[N],b[N];
struct bign
{
int s[N];
int len;
bign(){
memset(s,,sizeof(s));
len=;
}
}; bign change(char str[])
{
bign a;
a.len=strlen(str);
for(int i=;i<a.len;i++){
a.s[i]=str[a.len-i-]-'';
}
return a;
} int comm(bign a,bign b)//大数的比较
{
if(a.len>b.len) return ;
else if(a.len<b.len) return -;
else{
for(int i=a.len-;i>=;i--){
if(a.s[i]>b.s[i]) return ;
else if(a.s[i]<b.s[i]) return -;
}
}
return ;
} bign add(bign a,bign b)
{
bign c;
int carry=;
for(int i=;i<a.len||i<b.len;i++){
int temp=a.s[i]+b.s[i]+carry;
c.s[c.len++]=temp%;
carry=temp/;
}
if(carry!=) c.s[c.len++]=carry;
return c;
}
int main()
{
while(~scanf("%s %s",a,b)){
bign s1=change(a);
bign s2=change(b);
bign c=add(s1,s2);
for(int i=c.len-;i>=;i--){
printf("%d",c.s[i]);
}
printf("\n");
}
return ;
}

随机推荐

  1. 【luogu P3979 遥远的国度】 题解

    题目链接:https://www.luogu.org/problemnew/show/P3979 除了换根操作都是裸的树剖 所以换根时考虑: 1.我查询的根等于换的根:无影响 2.我查询的根是换的根的 ...

  2. 【题解】洛谷P2822 [NOIP2016TG ]组合数问题 (二维前缀和+组合数)

    洛谷P2822:https://www.luogu.org/problemnew/show/P2822 思路 由于n和m都多达2000 所以暴力肯定是会WA的 因为整个组合数是不会变的 所以我们想到存 ...

  3. 2018年暑假ACM个人训练题9(动态规划)解题报告

    A:m段最大字段和问题 https://www.cnblogs.com/yinbiao/p/9314528.html B:map的使用(根本就不是dp!!!) https://www.cnblogs. ...

  4. 6.Spring Cloud初相识-------Zool路由

    前言: 在生产环境中,我们不可能将每个服务的真实信息暴漏出去,因为这样太不安全. 我们会选择使用路由代理真实的服务信息,由它负责转发给真实的服务. 新建一个Zool: 1.添加依赖 <?xml ...

  5. 使用 seafile搭建私有云盘

    一.系统环境 系统:CentOS7-1708IP地址:192.168.159.33 二.安装seafile [root@seafile ~]# yum -y install epel-release[ ...

  6. 使用xlsx把json对象导出excel

    1,首先使用npm下载xlsx.执行命令 npm install xlsx --save import { Component, OnInit } from '@angular/core'; //im ...

  7. Swift_Set详解

    Swift_Set详解 点击查看源码 初始化 //初始化 fileprivate func testInit() { //空Set var set = Set<String>() prin ...

  8. mysql忘记密码重置

    一.更改my.cnf配置文件 0.MySQL 版本查看 mysql --version 1.用命令编辑/etc/my.cnf配置文件,即:vim /etc/my.cnf 或者 vi /etc/my.c ...

  9. Angularjs基础(十一)

    ng-csp 描述:修改内容的安全策略 实例: 修改AngularJS 中关于"eval"的行为方式及内联样式: <body ng-app="" ng-c ...

  10. Linux计算某一列的和

    ll | awk '{print $5}' | egrep -v "^$"| paste -sd+|bc 简单说明: ll:拿到当前目录下所有的文件大小 awk:拿到第几列 egr ...