洛谷题目 A+B Problem(升级版)

题目背景

小明这在写作业,其中有一道A+B Problem ,他想啊想啊想,就是想不出来,于是就找到了会编程的你......

题目描述

这里的A+B是很奇特的。它是按质数的顺序来进位的。例如:1,0+2,1=1,0,1(用,来分隔每一位)。个位是2进制,十位是3进制,百位是5进制,千位是7进制,万位是11进制……两个加数的最高位是万位(万位可能有两位)。

输入格式

输入一个形如1,0+2,1字符串s。

输出格式

输出相加后的结果。

输入数据 1

1,0+2,1

输出数据 1

1,0,1

题解

讲解

代码主要分为 个阶段:

1.读入存到 vector(a,b)数组里;

2.倒序存储(为了进位方便);

3.模拟加法(和高精度加法很像,可以看一下);

4.倒序输出结果;

读入时要特殊判断,如果在家号前面时做什么,加号后面时做什么。
补充:getchar可以读入字符(换行,空格也可以)。
#include<bits/stdc++.h>
using namespace std;
int t[]={2,3,5,7,11,13};
vector<int> a,b,c;
inline void getC()
{
    int flag=0;
    for(int c=getchar();;c=getchar())
    {
        if(c!='+' && flag==0) if(c>='0' && c<='9') a.push_back(c-'0');
        if(c=='+' || flag==1) 
        {
            flag=1;
            if(c>='0' && c<
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值