#include <iostream>
#include <string.h>
#include <sstream>
#include <math.h>
#include <vector>
#include <algorithm>
using namespace std;
int susuTable[]={};
bool isLear(int num)
{
if(num==)
return true;
else
{
int i = ;
for(;i<=sqrt(num);i++)
{
if(num%i == )
return false;
}
return true;
}
}
void setArr(int arr[])
{
int i = ;
int totalBit = ;
while(totalBit!=)
{
if(isLear(i) ==true)
{
arr[totalBit] = i;
totalBit++;
}
i++;
}
}
void display(int arr[])
{
int i = ;
for(;i<;i++)
{
cout<<arr[i]<<" ";
}
}
void transString(string spark,vector<int> &vec)
{ int len = spark.length();
int i = ;
while(i!=len)
{
int temp = ;
while(spark[i]!=',' && i!=len)
{
temp = temp* + (spark[i]-'');
i++;
}
vec.insert(vec.begin(),temp);
if(i==len)
break;
else
i++;
}
}
void disVec(vector<int> vec)
{
int i=vec.size()-;
for(;i>=;i--)
{
cout<<vec[i];
if(i!=)
cout<<',';
}
cout<<endl;
}
void add(vector<int> &vecA,vector<int> &vecB)
{
int upFlow = ;
int index = ;
int sizeA = vecA.size();
int sizeB = vecB.size();
if(sizeB > sizeA)
vecA.swap(vecB); int i = ;
for(;i<vecB.size();i++)
{
vecA[i] = vecA[i] + vecB[i] + upFlow;
if(vecA[i] >= susuTable[i+])
{
vecA[i] %= susuTable[i+];
upFlow = ;
}
else
upFlow = ;
} for(;i<vecA.size();i++)
{
vecA[i] = vecA[i] + upFlow;
if(vecA[i] >= susuTable[i+])
{
vecA[i] %= susuTable[i+];
upFlow = ;
}
else
upFlow = ;
}
if(upFlow==)
vecA.push_back();
} int main()
{
string num_a,num_b;
vector<int> vecA;
vector<int> vecB;
setArr(susuTable);
//display(susuTable); cin>>num_a>>num_b;
while(!(num_a =="" || num_b==""))
{
transString(num_a,vecA);
//disVec(vecA);
transString(num_b,vecB);
add(vecA,vecB);
disVec(vecA);
vecA.clear();
vecB.clear();
cin>>num_a>>num_b; }
return ;
}

题目描述见上一篇。

解题思路:将火星数字a,b中的各个部分的数值取出来,放入各自的vec中,采用头插法,然后遍历2个数组,将对应的元素相加,如有进位,保存在upFlow中,加到下一组元素,知道某一个vec到尽头,继续讲进位加下去,直到另一个vec到尽头,最后将最后的进位插入到存储和的vec的末尾,这个vec就是火星数字a+b,输出即可

九度OJ 1016 火星A+B AC版的更多相关文章

  1. 九度OJ 1016 火星A + B 未AC版,整型存储不下

    #include <iostream> #include <string.h> #include <sstream> #include <math.h> ...

  2. 九度OJ 1016:火星A+B (进制转换)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4913 解决:1334 题目描述:     读入两个不超过25位的火星正整数A和B,计算A+B.需要注意的是:在火星上,整数不是单一进制的, ...

  3. 九度OJ 1434 今年暑假不AC

    题目地址:http://ac.jobdu.com/problem.php?pid=1434 题目描述: “今年暑假不AC?”“是的.”“那你干什么呢?”“看世界杯呀,笨蛋!”“@#$%^&*% ...

  4. 九度oj 题目1026:又一版 A+B

    题目描述: 输入两个不超过整型定义的非负10进制整数A和B(<=231-1),输出A+B的m (1 < m <10)进制数. 输入: 输入格式:测试输入包含若干测试用例.每个测试用例 ...

  5. 【九度OJ】题目1434:今年暑假不AC 解题报告

    [九度OJ]题目1434:今年暑假不AC 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1434 题目描述: "今年暑假不A ...

  6. 九度oj 题目1087:约数的个数

    题目链接:http://ac.jobdu.com/problem.php?pid=1087 题目描述: 输入n个整数,依次输出每个数的约数的个数 输入: 输入的第一行为N,即数组的个数(N<=1 ...

  7. 九度OJ 1500 出操队形 -- 动态规划(最长上升子序列)

    题目地址:http://ac.jobdu.com/problem.php?pid=1500 题目描述: 在读高中的时候,每天早上学校都要组织全校的师生进行跑步来锻炼身体,每当出操令吹响时,大家就开始往 ...

  8. 九度OJ 1531 货币面值(网易游戏2013年校园招聘笔试题) -- 动态规划

    题目地址:http://ac.jobdu.com/problem.php?pid=1531 题目描述: 小虎是游戏中的一个国王,在他管理的国家中发行了很多不同面额的纸币,用这些纸币进行任意的组合可以在 ...

  9. 九度OJ 1024 畅通工程 -- 并查集、贪心算法(最小生成树)

    题目地址:http://ac.jobdu.com/problem.php?pid=1024 题目描述:     省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但 ...

随机推荐

  1. spring集成mybatis实现mysql读写分离

    前言 在网站的用户达到一定规模后,数据库因为负载压力过高而成为网站的瓶颈.幸运的是目前大部分的主流数据库都提供主从热备功能,通过配置两台数据库主从关系,可以将一台数据库的数据更新同步到另一台服务器上. ...

  2. java 远程调用 RPC

    1. 概念 RPC,全称为Remote Procedure Call,即远程过程调用,它是一个计算机通信协议.它允许像调用本地服务一样调用远程服务.它可以有不同的实现方式.如RMI(远程方法调用).H ...

  3. shell编程之echo printf 命令

    shell中 echo 和printf 都能用作输出,printf可以算是echo的增强版 显示转义字符 echo \""abcdef\"" >>& ...

  4. ECC椭圆曲线详解(有具体实例)

    前言 ECC英文全称"Ellipse Curve Cryptography" 与传统的基于大质数因子分解困难性的加密方法不同,ECC通过椭圆曲线方程式的性质产生密钥 ECC164位 ...

  5. 在Android中使用枚举注解而不是枚举

    Enums often require more than twice as much memory as static constants. You should strictly avoid us ...

  6. centos7中firewall防火墙命令详解

    为了架设ss在vultr上买了一个日本的vps 用的是centos7的系统 防火墙是 firewall 捣鼓了两天 在这里总结一下. 如果小伙伴也准备在vultr上买vps  在注册是 可以使用这个优 ...

  7. 如何成为一个优秀的java程序员

    Java程序员有许多应遵循的守则或最佳实践方式.本文概述了每个开发者最应该遵循的10条守则或戒律,如果不遵循它们,将会导致灾难性后果. 1. 为代码添加注释(Add comments to your ...

  8. VMware Workstation 12 Pro 之安装林耐斯优麒麟 X64系统

    VMware Workstation 12 Pro 之安装林耐斯优麒麟 X64系统... --------------------- 先去官网下载ISO格式的系统安装包:http://www.ubun ...

  9. win7系统中如何使文件显示出扩展名或显示文件后缀名

    win7系统中如何使文件显示出扩展名-------------------- 1.点击计算机-->>点击组织,然后选择“文件夹及搜索选项”-->> -------------- ...

  10. 火币网现货API[Python3版]

    火币 期货 现货 API [Python3版] 一.Util.py,基础类,包括参数配置.签名,HTTP 请求方法,发送信息到API #coding=utf-8 import hashlib impo ...