九度OJ 1016 火星A+B AC版
#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版的更多相关文章
- 九度OJ 1016 火星A + B 未AC版,整型存储不下
#include <iostream> #include <string.h> #include <sstream> #include <math.h> ...
- 九度OJ 1016:火星A+B (进制转换)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4913 解决:1334 题目描述: 读入两个不超过25位的火星正整数A和B,计算A+B.需要注意的是:在火星上,整数不是单一进制的, ...
- 九度OJ 1434 今年暑假不AC
题目地址:http://ac.jobdu.com/problem.php?pid=1434 题目描述: “今年暑假不AC?”“是的.”“那你干什么呢?”“看世界杯呀,笨蛋!”“@#$%^&*% ...
- 九度oj 题目1026:又一版 A+B
题目描述: 输入两个不超过整型定义的非负10进制整数A和B(<=231-1),输出A+B的m (1 < m <10)进制数. 输入: 输入格式:测试输入包含若干测试用例.每个测试用例 ...
- 【九度OJ】题目1434:今年暑假不AC 解题报告
[九度OJ]题目1434:今年暑假不AC 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1434 题目描述: "今年暑假不A ...
- 九度oj 题目1087:约数的个数
题目链接:http://ac.jobdu.com/problem.php?pid=1087 题目描述: 输入n个整数,依次输出每个数的约数的个数 输入: 输入的第一行为N,即数组的个数(N<=1 ...
- 九度OJ 1500 出操队形 -- 动态规划(最长上升子序列)
题目地址:http://ac.jobdu.com/problem.php?pid=1500 题目描述: 在读高中的时候,每天早上学校都要组织全校的师生进行跑步来锻炼身体,每当出操令吹响时,大家就开始往 ...
- 九度OJ 1531 货币面值(网易游戏2013年校园招聘笔试题) -- 动态规划
题目地址:http://ac.jobdu.com/problem.php?pid=1531 题目描述: 小虎是游戏中的一个国王,在他管理的国家中发行了很多不同面额的纸币,用这些纸币进行任意的组合可以在 ...
- 九度OJ 1024 畅通工程 -- 并查集、贪心算法(最小生成树)
题目地址:http://ac.jobdu.com/problem.php?pid=1024 题目描述: 省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但 ...
随机推荐
- 自定义Git之忽略特殊文件
有些时候,你必须把某些文件放到Git工作目录中,但又不能提交它们,比如保存了数据库密码的配置文件啦,等等,每次git status都会显示Untracked files ...,有强迫症的童鞋心里肯定 ...
- 鄙人对constructor和prototype的总结
在学习js面向对象过程中,我们总是对constructor和prototype充满疑惑,这两个概念是相当重要的,深入理解这两个概念对理解js的一些核心概念非常的重要.因此,在这里记录下鄙人见解,希望可 ...
- Angular 小试牛刀[2]:CI(travie+firebase)
持续集成(Continuous Integration)是一种软件开发实践,即团队开发成员经常集成它们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成.每次集成都通过自动化的构建 ...
- Python爬虫从入门到放弃(二十四)之 Scrapy登录知乎
因为现在很多网站为了限制爬虫,设置了为只有登录才能看更多的内容,不登录只能看到部分内容,这也是一种反爬虫的手段,所以这个文章通过模拟登录知乎来作为例子,演示如何通过scrapy登录知乎 在通过scra ...
- 'IFileDialog' : no GUID has been associated with this object
在VS2010中使用IFileDialog,提示一下错误: 'IFileDialog' : no GUID has been associated with this object MSDN上明确表示 ...
- WebService核心文件【web-config.wsdd】调用操作
WebService核心文件[server-config.wsdd]详解及调用示例 作者:玛莎拉蒂-小贱人 一.准备工作 导入需要的jar包: 二.配置web.xml 在web工程的web.xml中添 ...
- Markdown+Pandoc 最佳写作拍档 (mailp.in)
Markdown+Pandoc 最佳写作拍档 我们为什么写作? 自从人们开始写作,写作便是记录.抒发.批判.反省的好工具.从石板上的刻印到笔墨纸砚,再到如今的信息时代.从静态的个人主页到托管博客,从个 ...
- linux磁盘分区 简要
基础知识: 以机械磁盘来说,磁盘的组成为盘片.机械手臂.磁头.主轴马达. 数据被写入在盘片上. 盘片分为 扇区Sector 柱面Cylinder 整块磁盘的第一个扇区特别重要 用来存放主引导分区Mas ...
- jq 动态添加.active 实现导航效果
代码思路: 页面4: 页面5: 代码思路: 通过jq获取你打开页面的链接 window.location.pathname: 在HTML中给自己的li加入一个ID id的命名与网址链接中的href相 ...
- Maven详解(六)------ 生命周期
1.什么是 生命周期? Maven 强大的原因是有一个十分完善的生命周期,生命周期可以理解为项目构建步骤的集合,它定义了各个构建环节的执行顺序,有了这个顺序,Maven 就可以自动化的执行构建命令. ...