#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. NYOJ--257--郁闷的C小加(一)(中缀表达式变后缀表达式 )

    郁闷的C小加(一) 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 我们熟悉的表达式如a+b.a+b*(c+d)等都属于中缀表达式.中缀表达式就是(对于双目运算符来说 ...

  2. 【机器学习笔记之四】Adaboost 算法

    本文结构: 什么是集成学习? 为什么集成的效果就会好于单个学习器? 如何生成个体学习器? 什么是 Boosting? Adaboost 算法? 什么是集成学习 集成学习就是将多个弱的学习器结合起来组成 ...

  3. Akka(18): Stream:组合数据流,组件-Graph components

    akka-stream的数据流可以由一些组件组合而成.这些组件统称数据流图Graph,它描述了数据流向和处理环节.Source,Flow,Sink是最基础的Graph.用基础Graph又可以组合更复杂 ...

  4. How to resolve the truncate/drop/delete/join hang issue in ADW

    In some case, we found that when we execute the sql commands like truncate table, drop table, delete ...

  5. 使用oschina的git服务器图文流程 (转)

    参考了豆沙包的教程我自己也做了一遍也来写写我的心得和体会 由于报名参加了游戏蛮牛<刀塔传奇>开源项目,服务器+客户端,所以觉着不管时间怎么着,还是或多或少做点贡献吧.毕竟这种体验应该还是第 ...

  6. Linux常见命令(四)——mkdir

    今天我们来介绍第四个命令:mkdir.mkdir (Make Directory 创建目录): 若指定目录不存在则创建目录.在创建目录时,要求创建目录的用户具有写权限,并应保证新建的目录没有重名. 用 ...

  7. ORACLE概要文件

    oracle系统为了合理分配和使用系统的资源提出了概要文件的概念.所谓概要文件,就是一份描述如何使用系统的资源(主要是CPU资源)的配置文件.将概要文件赋予某个数据库用户,在用户连接并访问数据库服务器 ...

  8. 给MySQL_5.7 配置环境变量

    给MySQL_5.7   配置环境变量... 1.右键我的电脑--选择属性 2.选择高级系统设置 3.根据MySQL的安装路径.来配置MYSQL_HOME环境变量 找到MySQL5.7的安装根目录 4 ...

  9. Java自定义注解及使用

    本文通过一个简单的例子展示注解的工作原理. 1.声明注解类型 @Target(value = ElementType.METHOD) //声明该注解的运行目标: 方法 @Retention(value ...

  10. scikit_learn入门

    原文:http://www.cnblogs.com/taceywong/p/4568806.html 原文地址:http://scikit-learn.org/stable/tutorial/basi ...