ZCMU-1411:喜闻乐见的a+b(大整数)
Problem E: 喜闻乐见的a+b
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 365 Solved: 136
[Submit][Status][Web Board]
Description
喜闻乐见的a+b来了,当然二进制,八进制,十进制什么的估计你们也懒得写了,来个20进制的a+b
Input
给出多组a和b,每个数字一行
数字由0~9和小写字母a~j(10~19)
给出的长度不超过100
Output
每组数据输出a+b的和。
Sample Input
1234567890
abcdefghij
99999jjjjj
9999900001
Sample Output
bdfi02467j
iiiij00000
HINT
【解析】
对不起,我收回我昨天说的话。PS:我是个正常人。。。。这个java内置的大数运算,好像胜任不了。。。。。我还是用自己熟悉的C写稳一点。
#include <bits/stdc++.h>
using namespace std;
int numa[110], numb[110];
char tab[21] = "0123456789abcdefghij";//20进制对照表
void reserve(char a[], int l)//转换数字顺序
{for (int i = 0, j = l - 1; i < l / 2; i++, j--)swap(a[i], a[j]);
}
void chuli(char a[], int numa[], int l)//将字符串处理成数字存入int型数组
{int i = 0;while (i < l){if (a[i] >= '0'&&a[i] <= '9')numa[i] = a[i] - '0';else if (a[i] >= 'a'&&a[i] <= 'j')numa[i] = a[i] - 'a' + 10;i++;}
}
void f(int ans[],int k)//开始转化进制
{for (int i = 0; i < k; i++){if (ans[i] >= 20){ans[i] %= 20;ans[i + 1] += 1;}}
}
int main()
{char a[110], b[110];int ans[110];while (~scanf("%s%s", a, b)){memset(ans, 0, sizeof(ans));int la = strlen(a), lb = strlen(b), i = 0, j = 0, k = 0;reserve(a, la); reserve(b, lb);chuli(a, numa, la), chuli(b, numb, lb);while (i < la&&j < lb){ans[k++] = numa[i++] + numb[j++];}while (i < la)ans[k++] = numa[i++];while (j < lb)ans[k++] = numb[j++];f(ans, k);int pos = k, q;for (; pos > 0; pos--)//找输出的位置(非0),去除前导的0if (ans[pos] != 0)break;for (int q = pos; q >= 0; q--)//逆序输出printf("%c", tab[ans[q]]);puts("");}return 0;
}
ZCMU-1411:喜闻乐见的a+b(大整数)相关推荐
- ZCMU 1411 喜闻乐见的a+b
Problem E: 喜闻乐见的a+b Time Limit: 1 Sec Memory Limit: 128 MB Submit: 386 Solved: 144 [Submit][Status ...
- java大整数类减1,自己写Java大整数《1》表示和加减
自己写Java大整数<一>表示和加减 上周粗略计划自己写Java下的大整数运算. 后来仔细想想其实自己动手写大整数运算有1好2不好.2个不好分别是: 1,肯定没有Java内置的BigInt ...
- c语言程序做四则运算还要余数,大整数四则运算 高质量C语言程序.doc
大整数四则运算 高质量C语言程序 设计题目: 大整数的四则运算 1. 功能简介:编写出实现大整数之间相加,相减,相乘,相除的程序,并输出计算结构. 课程设计要求:采用模块化程序设计 源程序中应有足够的 ...
- python整数池_【Python】Python中神奇的小整数对象池和大整数对象池
小整数对象池 整数在程序中的使用非常广泛,Python为了优化速度,使用了小整数对象池, 避免为整数频繁申请和销毁内存空间. Python 对小整数的定义是 [-5, 256] 这些整数对象是提前建立 ...
- 随手记——大整数运算模板(进化史)
大整数相加.相乘 2019年2月23日09:46:21 基本上没有空间浪费.关键是思路清晰,实现起来方便,字符串倒过来放到vector里(倒过来 方便进位运算),然后做完运算再逆序回来. 关于乘法运算 ...
- 【BZOJ】3751: [NOIP2014]解方程【秦九韶公式】【大整数取模技巧】
3751: [NOIP2014]解方程 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 4856 Solved: 983 [Submit][Stat ...
- HLG1159 MAGI System【大整数乘法】
Description <Neon Genesis Evangelion>(中文译名:新世纪福音战士,简称EVA).<EVA>是表面上是一部机器人动画,但是在剧情的展开手法,内 ...
- python【蓝桥杯vip练习题库】ADV-100第二大整数
试题 算法提高 第二大整数 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 编写一个程序,读入一组整数(不超过20个),当用户输入0时,表示输入结束.然后程序将从这组整数中,把第二大 ...
- poj2305-Basic remains(进制转换 + 大整数取模)
进制转换 + 大整数取模 一,题意: 在b进制下,求p%m,再装换成b进制输出. 其中p为b进制大数1000位以内,m为b进制数9位以内 二,思路: 1,以字符串的形式输入p,m; 2,转换:字符串- ...
- hdu1261 字串数(排列组合、大整数)
Problem Description 一个A和两个B一共可以组成三种字符串:"ABB","BAB","BBA". 给定若干字母和它们 ...
最新文章
- MySQL 学习笔记(8)— 触发器
- Shiro安全登录框架
- linux中使用CST时间
- python好学吗mooc中文网-用Python玩转数据
- 一些与oracle相关的关于查询锁的信息
- 用Numpy手写各种距离度量
- 计算机安全模型研究与应用,软件哨兵安全动态检测模型的研究与实现-计算机应用研究.PDF...
- VS2008 开发设计MOSS工作流 URN 注意了
- 升级php5.4 mysql5.5_在CentOS上把PHP从5.4升级到5.5
- 苹果叒要开发布会了!多款新机曝光,Intel不淡定了
- python追加写入数据到excel表格
- 狂人日记学习 之七 三列浮动中间列宽度自适应
- 毕设题目:Matlab数字信号调制
- RS信道编码(matlab)
- 用计算机编程解决土方调配,LINGO在土方调配计算问题应用.doc
- pytho基础(6)
- Cisco交换机 ——STP
- GetCurrentTime函数
- 【小程序】微信小程序集成环信im
- easyweb新标签页打开