P1604 进制星球

阅读: 评论:0

P1604 进制星球

P1604 进制星球

 展开

题目背景

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

题目描述

话说有一天,小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<iostream>
#include<algorithm>
using namespace std;
string x, y;
int a[100005], b[100005], c[100005], la, lb, lc, n;
int main()
{cin >> n >> x >> y;la = x.length();lb = y.length();for (int i = 0; i < la; i++){if (x[i] >= 'A' && x[i] <= 'Z'){a[la - i] = x[i] - 'A' + 10;}elsea[la - i] = x[i] - '0';}for (int i = 0; i < lb; i++){if (y[i] >= 'A' && y[i] <= 'Z'){b[lb - i] = y[i] - 'A' + 10;}elseb[lb - i] = y[i] - '0';}lc = max(la, lb);for (int i = 1; i <= lc; i++)//i=0存的是''{c[i] += a[i] + b[i];c[i + 1] += c[i] / n;c[i] %= n;}if (c[lc + 1] > 0) lc++;for (int i = lc; i >= 1; i--){if (c[i] >= 10){cout << char(c[i] - 10 + 'A');}elsecout << c[i];}return 0;
}

本文发布于:2024-01-27 22:40:35,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17063664323078.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:星球
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23