大数加法模板

一般的加法只要int类型的两数直接相加即可,大一点的数可以设为long long类型,而超过长整型的数则属于大数问题了,大数加法其实也比较简单,利用数组实现就可以啦:

主要思想如下
(1)将大数以字符串形式输入,并转化为数组形式倒序存储
(2)将两数组对应位相加,位数满10进1
(3)判断最高位是否为0,输出结果数组

代码实现

#include<stdio.h>
#include<string.h>
int main()
{char s1[1005],s2[1005];int num1[1005],num2[1005];int len1,len2,i,j;memset(num1,0,sizeof(num1));memset(num2,0,sizeof(num2));printf("please int first number\n");scanf("%s",s1);printf("please int secound number\n");scanf("%s",s2);len1=strlen(s1);len2=strlen(s2);for(i=len1-1,j=0; i>=0 ; i--){num1[j]=s1[i]-48;j++;}for(i=len2-1,j=0; i>=0 ; i--){num2[i]=s2[j]-48;j++;}for(i=0; i<(len2>len1?len2:len1); i++){num1[i]+=num2[i];if(num1[i]>9){num1[i+1]+=1;num1[i]-=10;}}if(num1[i]){for(j=i; j>=0; j--)printf("%d",num1[j]);}else{for(j=i-1; j>=0; j--)printf("%d",num1[j]);}printf("\n");return 0;
}

【HDU 1002】 大数加法模板题,注意输出格式控制就好~

代码实现

#include<stdio.h>
#include<string.h>
int main()
{char s1[1005],s2[1005];int num1[1005],num2[1005];int len1,len2,i,j,t,k=1;scanf("%d",&t);while(t--){memset(num1,0,sizeof(num1));memset(num2,0,sizeof(num2));scanf("%s%s",s1,s2);len1=strlen(s1);len2=strlen(s2);for(i=len1-1,j=0; i>=0 ; i--){num1[j]=s1[i]-48;j++;}for(i=len2-1,j=0; i>=0 ; i--){num2[i]=s2[j]-48;j++;}for(i=0; i<(len2>len1?len2:len1); i++){num1[i]+=num2[i];if(num1[i]>9){num1[i+1]+=1;num1[i]-=10;}}if(k!=1) printf("\n");printf("Case %d:\n",k);k++;printf("%s + %s = ",s1,s2);if(num1[i]){for(j=i; j>=0; j--)printf("%d",num1[j]);}else{for(j=i-1; j>=0; j--)printf("%d",num1[j]);}printf("\n");}return 0;
}

大数加法【HDU 1002】相关推荐

  1. HDU - 1002 A + B Problem II(大数)

    题目链接:点击查看 题目大意:大数加法 题目分析:第一次用Java写ACM,还是有点小激动滴,有几点需要注意的: 公共类名要写Main 不要提交包名 注意输入输出 上代码吧,纪念一下: import ...

  2. HDU 1002 A+BII大数

    此题杀死各种新手,当年被此题卡住两个星期辗转难眠,最终发现拿数组存下每位数然后模仿笔算即可,附渣代码: #include <stdio.h> #include <string.h&g ...

  3. HDU.1002 A + B Problem II

    原题 HDU.1002 A + B Problem II 分类 杂题·大位整数运算 题意 计算从任意两个长度在1000以内的正整数的和. 输入/输出 要求与格式 输入内容 最开始一行开始输入样例数,对 ...

  4. 大数加法分析及C语言实现(加数可为负数)

    大数加法(加数可为负数) ·分析: 大数加法有如下几种情况: 1.两数同号 (1)同正:如,s1=11,s2=22:s1=0,s2=0 (2)同负:如,s1=-11,s2=-22 2.两数异号 (1) ...

  5. python【蓝桥杯vip练习题库】ADV-136大数加法(高精度加法)

    试题 算法提高 大数加法 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 输入两个正整数a,b,输出a+b的值. 输入格式 两行,第一行a,第二行b.a和b的长度均小于1000位. ...

  6. Java实现大数乘法_java实现大数加法、乘法(BigDecimal)

    之前写过用vector.string实现大数加法,现在用java的BigDecimal类,代码简单很多.但是在online-judge上,java的代码运行时间和内存大得多. java大数加法:求a+ ...

  7. python加法怎么写_51NOD 大数加法以及python写法

    大数加法一般为小学生式的"竖式计算"要特别注意的是借位与进位的问题(先给看c++写法,我怕先看了python写法,会看不下去c++写法)这题还有要注意的是 1.同符号的话,直接加就 ...

  8. Java大数加法乘法减法、36进制加法

    文章目录 大数加法 大数减法 c++版本 Java版本 大数乘法 36进制加法 c++版 Java版 大数加法 1.是整数: 2.两个数无限大,long都装不下: 3.不能用BigInteger: 4 ...

  9. 牛客题霸 [ 大数加法]C++题解/答案

    牛客题霸 [ 大数加法]C++题解/答案 题解: 本质就是模拟加法运算 想要让s与t长度统一,不足的部分用0来补充 然后从最后一位开始,两个数相加,同时如果超过10,就把多的部分加到下一位 其实就是我 ...

最新文章

  1. 算法基础知识科普:8大搜索算法之红黑树(中)
  2. java命名$_java命名规范
  3. Nginx--------地址重写
  4. 基于nginx实现反向代理
  5. WinCE控制面板添加应用程序
  6. 读书印记 - 《创新者的解答》
  7. springboot基于mybatis扫描jar包中的controller、service、dao、xml
  8. 为什么农产品电商不好做
  9. NPS内网穿透服务端一键安装脚本
  10. Java之戳中痛点 - (6)避免类型自动转换,例如两个整数相除得浮点数遇坑
  11. 熬夜整理,最全的Go语言教程来了,快来收藏!
  12. 【数学建模】数学建模指导:建模常用算法应用场景解析
  13. 《大数据技术原理与应用》第三版 林子雨编著 第一章 大数据概述
  14. 王道数据结构线性表:有读者认为直接去掉p结点会造成断链?
  15. hive 数据类型 java_Hive数据类型
  16. Windows校验文件完整性(MD5)
  17. AndroidShortcuts
  18. 判断股票代码是上海市场SH还是深圳市场SZ
  19. (附源码)spring boot校园管理系统 毕业设计 021104
  20. Python3 单线程爬虫 和 多线程爬虫 下载某站 古风头像,短短几分钟就3000多张

热门文章

  1. js校验复选框(多选按钮)是否被选中的方法
  2. 2022-2028年中国TFT玻璃行业市场研究及前瞻分析报告
  3. 2022-2028年中国二次元行业深度调研及投资前景预测报告
  4. 吸水间最低动水位标高_水库水位库容监测系统方案
  5. 浅显易懂 Makefile 入门 (08)— 默认 shell (/bin/sh)、命令回显、make参数(-n 只显示命令但不执行,-s 禁止所有回显)、单行命令、多行命令、并发执行
  6. 程序员必备注释模板---佛祖保佑
  7. List再整理,从代码底层全面解析List(看完后保证收获满满)
  8. 王道考研 计算机网络笔记 第五章:传输层
  9. TVM交叉编译和远程RPC
  10. CVPR2018论文看点:基于度量学习分类与少镜头目标检测