技术标签: 数学问题
这种题除了代码有点长,不好找错之外,思维上还是很简单的。
#include<iostream>
#include<algorithm>
#include<stdio.h>
#include<cmath>
#include<queue>
#include<cstring>
#include<vector>
#include<map>
#define MAX 5005
#define INF 0x3f3f3f3f
typedef long long ll;
using namespace std;
int n;//n进制
string a,b;
string cal(string a,string b){//计算a+b;
string res="";
int i=a.length()-1,j=b.length()-1;
int jw=0;
while(i>=0&&j>=0){
int tmp1,tmp2;
if(a[i]>='0'&&a[i]<='9'){
tmp1=a[i]-'0';
}else{
tmp1=a[i]-'A'+10;
}
if(b[j]>='0'&&b[j]<='9'){
tmp2=b[j]-'0';
}else{
tmp2=b[j]-'A'+10;
}
int tmp=tmp1+tmp2+jw;
if(tmp>=n){
char ch;
if(tmp-n>=0&&tmp-n<=9){
ch=tmp-n+'0';
}else{
ch=tmp-n-10+'A';
}
res=ch+res;
jw=1;
}else{
char ch;
if(tmp>=0&&tmp<=9){
ch=tmp+'0';
}else{
ch=tmp-10+'A';
}
res=ch+res;
jw=0;
}
i--,j--;
}
while(i>=0){
int tmp;
if(a[i]>='0'&&a[i]<='9'){
tmp=a[i]-'0';
}else{
tmp=a[i]-'A'+10;
}
tmp+=jw;
if(tmp>=n){
char ch;
if(tmp-n>=0&&tmp-n<=9){
ch=tmp-n+'0';
}else{
ch=tmp-n-10+'A';
}
res=ch+res;
jw=1;
}else{
char ch;
if(tmp>=0&&tmp<=9){
ch=tmp+'0';
}else{
ch=tmp-10+'A';
}
res=ch+res;
jw=0;
}
i--;
}
while(j>=0){
int tmp;
if(b[j]>='0'&&b[j]<='9'){
tmp=b[j]-'0';
}else{
tmp=b[j]-'A'+10;
}
tmp+=jw;
if(tmp>=n){
char ch;
if(tmp-n>=0&&tmp-n<=9){
ch=tmp-n+'0';
}else{
ch=tmp-n-10+'A';
}
res=ch+res;
jw=1;
}else{
char ch;
if(tmp>=0&&tmp<=9){
ch=tmp+'0';
}else{
ch=tmp-10+'A';
}
res=ch+res;
jw=0;
}
j--;
}
if(jw!=0){
res='1'+res;
}
return res;
}
int main(){
cin>>n;
cin>>a>>b;
cout<<cal(a,b);
return 0;
}
题目背景 进制题目,而且还是个计算器~~ 题目描述 话说有一天,小Z乘坐宇宙飞船,飞到一个美丽的星球。因为历史的原因,科技在这个美丽的星球上并不很发达,星球上人们普遍采用B(2<=B<=36)进制计数。星球上的人们用美味的食物招待了小Z,作为回报,小Z希望送一个能够完成B进制加法的计算器给他们。 现在小Z希望你可以帮助他,编写实现B进制加法的程序。 输入输出格式 输入格式:  ...
https://www.luogu.org/problem/P1604 题目描述 话说有一天,小Z乘坐宇宙飞船,飞到一个美丽的星球。因为历史的原因,科技在这个美丽的星球上并不很发达,星球上人们普遍采用B(2<=B<=36)进制计数。星球上的人们用美味的食物招待了小Z,作为回报,小Z希望送一个能够完成B进制加法的计算器给他们。 现在小Z希望你可以帮助他,编写实现B进制加法的程序。 输入格...
题目背景 进制题目,而且还是个计算器~~ 题目描述 话说有一天,小Z乘坐宇宙飞船,飞到一个美丽的星球。因为历史的原因,科技在这个美丽的星球上并不很发达,星球上人们普遍采用B(2<=B<=36)进制计数。星球上的人们用美味的食物招待了小Z,作为回报,小Z希望送一个能够完成B进制加法的计算器给他们。 现在小Z希望你可以帮助他,编写实现B进制加法的程序。 输入格式 共3行第1行:一个十进制的...
展开 题目背景 进制题目,而且还是个计算器~~ 题目描述 话说有一天,小Z乘坐宇宙飞船,飞到一个美丽的星球。因为历史的原因,科技在这个美丽的星球上并不很发达,星球上人们普遍采用B(2<=B<=36)进制计数。星球上的人们用美味的食物招待了小Z,作为回报,小Z希望送一个能够完成B进制加法的计算器给他们。 现在小Z希望你可以帮助他,编写实现B进制加法的程序。 输入格式 共3行第...
题目背景 进制题目,而且还是个计算器~~ 题目描述 话说有一天,小Z乘坐宇宙飞船,飞到一个美丽的星球。因为历史的原因,科技在这个美丽的星球上并不很发达,星球上人们普遍采用B(2<=B<=36)进制计数。星球上的人们用美味的食物招待了小Z,作为回报,小Z希望送一个能够完成B进制加法的计算器给他们。 现在小Z希望你可以帮助他,编写实现B进制加法的程序。 输入格式 共3行第1行:一个十进制的...
【高精度】B进制星球 题目 题目背景 进制题目,而且还是个计算器~~ 题目描述 话说有一天,小Z乘坐宇宙飞船,飞到一个美丽的星球。因为历史的原因,科技在这个美丽的星球上并不很发达,星球上人们普遍采用B(2<=B<=36)进制计数。星球上的人们用美味的食物招待了小Z,作为回报,小Z希望送一个能够完成B进制加法的计算器给他们。 现在小Z希望你可以帮助他,编写实现B进制加法的程序。 输入格式...
题目描述: 话说有一天,小Z乘坐宇宙飞船,飞到一个美丽的星球。因为历史的原因,科技在这个美丽的星球上并不很发达,星球上人们普遍采用B(2<=B<=36)进制计数。星球上的人们用美味的食物招待了小Z,作为回报,小Z希望送一个能够完成B进制加法的计算器给他们。 现在小Z希望你可以帮助他,编写实现B进制加法的程序。 输入输出格式 输入格式: 共3行第1行:一个十进制的整数,表示进制B。第2-...
//学习记录 //洛谷P1591 阶乘数码 #include #include const int N =10005 ; // 同一个数据出现多次,可抽象成一个变量 using namespace std; void jia(int p[],int q[],int m[]) { int a[N],b[N],c[N],x=0; //数组可能不够大 memset(a,0,sizeof(a)); mem...
文章目录 题目描述 一、高精度加法 二、题解 1.字符数组置逆 2.值得注意的是... 3.运行与测试 写在最后 题目描述 高精度加法,相当于a+b problem,不用考虑负数. 输入格式 分两行输入。 a , b ≤ 1 0 500 a,b \leq 10^{500} a,b≤10500 500 输出格式 输出只有一行,代表a+b的值 输入#1 输出#1 输入#2 输出#2 一、高...
https://www.luogu.org/problemnew/show/P1604 题目背景 进制题目,而且还是个计算器~~ 题目描述 话说有一天,小Z乘坐宇宙飞船,飞到一个美丽的星球。因为历史的原因,科技在这个美丽的星球上并不很发达,星球上人们普遍采用B(2<=B<=36)进制计数。星球上的人们用美味的食物招待了小Z,作为回报,小Z希望送一个能够完成B进制加法的计算器给他们。 现...