时间限制:1s 空间限制:128000KB题目等级:黄金 Gold

题目描述

给出两个正整数A和B,计算A+B的值。保证A和B的位数不超过500位。

输入描述

读入两个用空格隔开的正整数

输出描述

输出A+B的值

样例输入

3 12

样例输出

15

解题思路

类比减法,见上一篇博客

AC代码如下:

#include <stdio.h>
#include <string.h>int main()
{char a[505],b[505];scanf("%s%s",a,b);int la=strlen(a),lb=strlen(b);if( la==lb ){for( int i=la-1 ; i>=1 ; --i ){if( ( a[i]-'0' )+( b[i]-'0' )<=9 ){a[i] += b[i]-'0';}else{a[i] += b[i]-'0'-10;++a[i-1];}}if( ( a[0]-'0' )+( b[0]-'0' )>=10 ){a[0] += b[0]-'0'-10;a[504] = '1';   //第0位产生的进位暂存到最后一位}}else{if( la<lb ){//保证a是两数中位数高的串char c[505];strcpy(c,a); strcpy(a,b); strcpy(b,c);//交换字符串a,bint t=la; la=lb; lb=t;//la,lb做相应交换}int i,j;for( i=la-1,j=lb-1 ; j>=0 ; --i,--j ){if( ( a[i]-'0' )+( b[j]-'0' )<=9 ){a[i] += b[j]-'0';}else{a[i] += b[j]-'0'-10;++a[i-1];}}//问题解决:a的剩余位超9for( int k=i;k>=1;--k ){if( a[k]>'9' ){a[k] -= 10;++a[k-1];}}if( a[0]>'9' ){a[0] -= 10;a[504] = '1';}}if( a[504]>='1' && a[504]<='9' ){printf("%c",a[504]);}printf("%s\n",a);return 0;
}

codeVS 3116 高精度练习之加法相关推荐

  1. 3116 高精度练习之加法

    3116 高精度练习之加法  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解 题目描述 Description 给出两个正整数A和B,计算A+B的值.保证A ...

  2. [CodeVS 1166] 高精度加法

    先弄个支持加减和大小比较的manual BigInteger #include<bits/stdc++.h> using namespace std;class BigInteger {p ...

  3. 任意长度的高精度大整数加法

    方法:这里用了数据结构栈,实际上栈更方便实现高精度加法. 步骤:1.第一个数据加数按输入顺序(高位到低位)入栈1.此时栈顶为最低位 2.‍第二个数据加数按输入顺序(高位到低位)入栈2.此时栈顶为最低位 ...

  4. codevs 3054 高精度练习-文件操作

    时间限制: 1 s  空间限制: 64000 KB  题目等级 : 钻石 Diamond 题目描述 Description 输入一组数据,将每个数据加1后输出 输入描述 Input Descripti ...

  5. c语言高精度算法(加法)

    1.为什么使用高精度算法啊? 在c语言中,int类型取值范围为(-2^31 ~ 2^31-1),而long long类型取值范围也才仅有(-2^63~ 2^63-1),在处理一些较大的数据时,显然仅靠 ...

  6. 【多题合集】高精度加减乘除

    高端:高精度算法,属于处理大数字的数学计算方法.在一般的科学计算中,会经常算到小数点后几百位或者更多,当然也可能是几千亿几百亿的大数字.一般这类数字我们统称为高精度数,高精度算法是用计算机对于超大数据 ...

  7. CodeVs天梯黄金Gold题解

    title: CodeVs天梯之Gold date: 2017-12-28 tags: 天梯 CodesVs categories: OI CodeVs天梯之Gold 2018.01.04 By gw ...

  8. 高精度阶乘和 高精度算法(c语言)

    以前刷oj的时候 遇见一个题目 也就是输入一个数字 判断阶乘和 用高精度计算出S=1!+2!+3!+-+N!(N≤50),其中"!"表示阶乘, 例如:5!=5*4*3*2*1.输入 ...

  9. A.pro读算法の2:高精度算法

    1.1 描述 高精度算法,属于处理大数字的数学计算方法.在一般的科学计算中,会经常算到小数点后几百位或者更多,当然也可能是几千亿几百亿的大数字.一般这类数字我们统称为高精度数,高精度算法是用计算机对于 ...

最新文章

  1. 某游戏在华为鸿蒙,部分安卓游戏在华为鸿蒙 OS 上运行,被识别成使用 PC 端模拟器...
  2. 典型的DIV+CSS布局——左中右版式
  3. 创意组竞赛正式文档中修正内容
  4. a bytes-like object is required, not 'str' pickle.loads pickle.dumps
  5. 计算机比赛的评分办法,汉字录入比赛评分规则方案
  6. pb 更改dropdwonlistbox绑定数据_Blazor 修仙之旅 组件与数据绑定
  7. 初识ES-安装IK分词器
  8. SAP CDS view里association和join的区别
  9. 【渝粤教育】国家开放大学2019年春季 0134-22T劳动法学 参考试题
  10. python如何连接mysql数据库
  11. kafka 集群_Kafka集群搭建
  12. 第十至十二章 算法分析--高阶数据结构
  13. hprose-php教程,hprose php用户手册
  14. 智能电话机器人--基于 UniMRCP 实现讯飞 TTS MRCP Server
  15. QT quick中的登录界面(Rectangle,TextField文本框的使用)
  16. 下载微信支付平台证书及首次下载报错处理
  17. mysql _数据库表的创建
  18. potplayer快捷键
  19. 虚拟跑步刷步软件下载_小米穿戴2.0最新版下载-小米穿戴2.0新虚拟形象版v2.0.0 安卓版...
  20. 【概率论】理解贝叶斯(Bayes)公式:为什么疾病检测呈阳性,得这种病的概率却不高?

热门文章

  1. IOS开发之——入门
  2. Visual Studio.NET 术语表
  3. 可穿戴设备:越来越清晰的苹果iWatch
  4. Flutter 实现背景图片毛玻璃效果
  5. java帮助中心_Java | 保利威帮助中心 - Part 9
  6. Kettle(三):创建资源库
  7. 《教学综合管理系统》学术论文
  8. java代码人为模拟股票的变动
  9. TIOBE 2 月编程语言榜:C++ 势不可挡
  10. 【迪大学院】X64X86游戏安全逆向分析相关所有视频链接