地球人习惯使用十进制数,并且默认一个数字的每一位都是十进制的。而在 PAT 星人开挂的世界里,每个数字的每一位都是不同进制的,这种神奇的数字称为“PAT数”。每个 PAT 星人都必须熟记各位数字的进制表,例如“……0527”就表示最低位是 7 进制数、第 2 位是 2 进制数、第 3 位是 5 进制数、第 4 位是 10 进制数,等等。每一位的进制 d 或者是 0(表示十进制)、或者是 [2,9] 区间内的整数。理论上这个进制表应该包含无穷多位数字,但从实际应用出发,PAT 星人通常只需要记住前 20 位就够用了,以后各位默认为 10 进制。

在这样的数字系统中,即使是简单的加法运算也变得不简单。例如对应进制表“0527”,该如何计算“6203 + 415”呢?我们得首先计算最低位:3 + 5 = 8;因为最低位是 7 进制的,所以我们得到 1 和 1 个进位。第 2 位是:0 + 1 + 1(进位)= 2;因为此位是 2 进制的,所以我们得到 0 和 1 个进位。第 3 位是:2 + 4 + 1(进位)= 7;因为此位是 5 进制的,所以我们得到 2 和 1 个进位。第 4 位是:6 + 1(进位)= 7;因为此位是 10 进制的,所以我们就得到 7。最后我们得到:6203 + 415 = 7201。

输入格式:

输入首先在第一行给出一个 N 位的进制表(0 < N ≤ 20),以回车结束。 随后两行,每行给出一个不超过 N 位的非负的 PAT 数。

输出格式:

在一行中输出两个 PAT 数之和。

输入样例:

30527
06203
415

输出样例:

7201
进行依次取模运算,模为tb即可

#include <iostream>
#include <algorithm>
using namespace std; int main()
{
string tb,A,B;
cin>>tb>>A>>B;
reverse(tb.begin(),tb.end());
reverse(A.begin(),A.end());
reverse(B.begin(),B.end());
if(A.length()>B.length()) swap(A,B);
while(A.length()!=B.length()) A+='';
string res="";
bool jinwei=false;
for(int i=;i<A.length();i++){
if(jinwei){
res+=((A[i]-''+B[i]-''+)%(tb[i]-''==?:tb[i]-'')+'');
jinwei=false;
if((A[i]-''+B[i]-''+)/(tb[i]-''==?:tb[i]-'')) jinwei=true;
}else{
res+=((A[i]-''+B[i]-'')%(tb[i]-''==?:tb[i]-'')+'');
if((A[i]-''+B[i]-'')/(tb[i]-''==?:tb[i]-'')) jinwei=true;
}
}
if(jinwei) res+='';
reverse(res.begin(),res.end());
int i;
for(i=;i<res.length()&&res[i]=='';i++);
res=res.substr(i,res.size()-i);
if(res!="") cout<<res;
else cout<<;
system("pause");
return ;
}

最新文章

  1. 关于MyCAT字符集的验证
  2. 分布式入门之2:Quorum机制
  3. Sublime Text3快捷键实用总结
  4. CAS自定义登录验证方法
  5. windows volume related concepts
  6. genymotion是一款完全超越BlueStacks
  7. 无锁编程(六) - seqlock(顺序锁)
  8. [ionic开源项目教程] - 第8讲 根据菜单分类加载数据(重要)
  9. C语言float型数据在内存中的储存方式
  10. JVM保证线程安全
  11. Linux系统安装_Centos6.9
  12. Mark SDL2 Lazy Foo&#39;s Producations
  13. C# 利用ZXing.Net来生成条形码和二维码
  14. 将Tomcat设置为自动启动的服务最快捷方法
  15. zabbix和elasticsearch数据表
  16. mysql中内存的使用与分配
  17. slatstack高效运维
  18. libtool: syntax error near unexpected token `]*
  19. Xamarin XAML语言教程构建ControlTemplate控件模板 (三)
  20. 第一章----python简介

热门文章

  1. 当你登录Github要求你邮箱验证身份,但是你的邮箱登录不了?
  2. Andrew Ng机器学习课程11之使用machine learning的建议
  3. Node express post 大小设置
  4. Spring 多对对实体
  5. css中盒子模型与box-sizing属性
  6. Netty学习笔记(一)——nio基础
  7. 502 BAD GATEWAY-k8s的cgroup限制了apache的可用内存
  8. OS填空题练习
  9. 【转】Entity Framework简介
  10. BS