洛谷P1604 B进制星球

el/2023/6/3 16:16:13

题目背景

进制题目,而且还是个计算器~~

题目描述

话说有一天,小Z乘坐宇宙飞船,飞到一个美丽的星球。因为历史的原因,科技在这个美丽的星球上并不很发达,星球上人们普遍采用B(2<=B<=36)进制计数。星球上的人们用美味的食物招待了小Z,作为回报,小Z希望送一个能够完成B进制加法的计算器给他们。 现在小Z希望你可以帮助他,编写实现B进制加法的程序。

输入输出格式

输入格式:

 

共3行第1行:一个十进制的整数,表示进制B。第2-3行:每行一个B进制数正整数。数字的每一位属于{0,1,2,3,4,5,6,7,8,9,A,B……},每个数字长度<=2000位。

 

输出格式:

 

一个B进制数,表示输入的两个数的和。

 

输入输出样例

输入样例#1: 复制

4
123
321

输出样例#1: 复制

1110

记录一下代码风格

#include<bits/stdc++.h>
#define M 2005
using namespace std;
const string t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";	
int n,a[M],b[M];string x,y;
int turn(char c)
{if(c>='0'&&c<='9') return c-'0';else return c-'A'+10;
}
int Plus()
{int len=max(x.length(),y.length());for(int i=0;i<len;i++){a[i]+=b[i];if(a[i]>=n) a[i+1]+=a[i]/n, a[i]%=n;}if(a[len]) len++;return len;
}
int main()
{cin>>n>>x>>y;int L1=x.length(),L2=y.length();for(int i=0;i<L1;i++) a[i]=turn(x[L1-i-1]);for(int i=0;i<L2;i++) b[i]=turn(y[L2-i-1]);for(int i=Plus()-1;i>=0;i--) cout<<t[a[i]];return 0;
}
/*
4
123
321
*/

 

http://www.ngui.cc/el/3419509.html

相关文章

洛谷P2123 皇后游戏

题目背景 还记得 NOIP 2012 提高组 Day1 的国王游戏吗&#xff1f;时光飞逝&#xff0c;光阴荏苒&#xff0c;两年过去了。国王游戏早已过时&#xff0c;如今已被皇后游戏取代&#xff0c;请你来解决类似于国王游戏的另一个问题。 题目描述 皇后有 n 位大臣&#xff0c;每位…

落谷P1233 木棍加工

题目描述 一堆木头棍子共有n根&#xff0c;每根棍子的长度和宽度都是已知的。棍子可以被一台机器一个接一个地加工。机器处理一根棍子之前需要准备时间。准备时间是这样定义的&#xff1a; 第一根棍子的准备时间为1分钟&#xff1b; 如果刚处理完长度为L&#xff0c;宽度为W…

洛谷P1338 末日的传说

题目描述 只要是参加jsoi活动的同学一定都听说过Hanoi塔的传说&#xff1a;三根柱子上的金片每天被移动一次&#xff0c;当所有的金片都被移完之后&#xff0c;世界末日也就随之降临了。 在古老东方的幻想乡&#xff0c;人们都采用一种奇特的方式记录日期&#xff1a;他们用一…

洛谷P2258 子矩阵

题目描述 给出如下定义&#xff1a; 子矩阵&#xff1a;从一个矩阵当中选取某些行和某些列交叉位置所组成的新矩阵&#xff08;保持行与列的相对顺序&#xff09;被称为原矩阵的一个子矩阵。 例如&#xff0c;下面左图中选取第22、44行和第22、44、55列交叉位置的元素得到一个…

spfa(求单源最短路)

一、简介 spfa &#xff1a;Shortest Path Faster Algorithm 单源最短路&#xff1a;给定一个带权值的有向图&#xff0c;给定图中的一个定点V&#xff0c;则V称为源&#xff0c;V能到达所有的顶点的最短距离称为单源最短路 二、图的存储方式 #include<bits/stdc.h> …

洛谷P3371 【模板】单源最短路径(弱化版)

题目背景 本题测试数据为随机数据&#xff0c;在考试中可能会出现构造数据让SPFA不通过&#xff0c;如有需要请移步 P4779。 题目描述 如题&#xff0c;给出一个有向图&#xff0c;请输出从某一点出发到所有点的最短路径长度。 输入输出格式 输入格式&#xff1a; 第一行包…

hdu1285确定比赛名次

确定比赛名次 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 41540 Accepted Submission(s): 15994 Problem Description 有N个比赛队&#xff08;1<N<500&#xff09;&#xff0c;编号依次为1&#…

hdu1106排序

排序 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 80900 Accepted Submission(s): 24484 Problem Description 输入一行数字&#xff0c;如果我们把这行数字中的‘5’都看成空格&#xff0c;那么就得到一…

洛谷P1641 [SCOI2010]生成字符串

题目描述 lxhgww最近接到了一个生成字符串的任务&#xff0c;任务需要他把n个1和m个0组成字符串&#xff0c;但是任务还要求在组成的字符串中&#xff0c;在任意的前k个字符中&#xff0c;1的个数不能少于0的个数。现在lxhgww想要知道满足要求的字符串共有多少个&#xff0c;聪…

逆元运算(除法取模)

一、简介 逆元&#xff1a;ax≡1&#xff08;mod p&#xff09;当a和p互质时&#xff0c;方程的解 x 称为a关于p的逆元&#xff0c; 在普通的四则运算中&#xff0c;只有加减乘三种运算可以根进行分别取余运算&#xff0c;因为这三种运算都是从低位到高位的运算&#xff0c;而…