九度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 题目描述: 省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但 ...
随机推荐
- 页面发送请求到后台报错“Empty or invalid anti forgery header token.”问题解决
在页面向后台发送请求时,报如上图的错误的解决办法: 在WebModule.cs类中的PreInitialize方法中加 Configuration.Modules.AbpWeb().AntiForge ...
- ABP+AdminLTE+Bootstrap Table权限管理系统第五节--WBEAPI及SwaggerUI
一,Web API ABP的动态WebApi实现了直接对服务层的调用(其实病没有跨过ApiController,只是将ApiController公共化,对于这一点的处理类似于MVC,对服务端的 调用没 ...
- 一种更高查询性能的列存储方式MaxMinT 第一部分
简介本文描述了一种列存储方式和对应的查询方法,这种存储方式具有更好的查询性能和更小的存储空间. And查询 本文先用直观的图形方式展示and查询时的方式,这也是算法要解决的问题核心.通常在OLAP数据 ...
- hadoop搭建在Ubuntu16.04上
一.环境 Ubuntu16.04.Hadoop2.7.3.java8 系统安装完成后建议先更新一下 apt源 1.复制原文件备份 sudo cp /etc/apt/source.list /etc/a ...
- Linq to Objects for Java 发布 1.0.1 版本
现在 java 支持 linq 啦.比原生 stream api 更好用,功能更强大.现已发布 version 1.0.1 地址: https://github.com/timandy/linq. A ...
- Ubuntu无法访问windows分区
正常情况: 重启, 先进入windows, 再重启进入Ubuntu(一定是重启, 先关机再进Ubuntu没用). 异常情况: sudo ntfsfix /dev/sda5(或6或7,得看哪个盘无法访问 ...
- JQuery中的回调对象
JQuery中的回调对象 回调对象(Callbacks object)模块是JQuery中的一个很基础的模块,很多其他的模块(比如Deferred.Ajax等)都依赖于Callbacks模块的实现.本 ...
- Azkaban3.x集群部署(multiple executor mode)
介绍 Azkaban是由Linkedin公司推出的一个批量工作流任务调度器,用于在一个工作流内以一个特定的顺序运行一组工作和流程.Azkaban使用job配置文件建立任务之间的依赖关系,并提供一个易于 ...
- Java 图片处理解决方案:ImageMagick 快速入门
一.ImageMagick介绍 ImageMagick是一个免费的创建.编辑.合成图片的软件,可以实现图片切割.颜色替换.图片缩略图.图片水印等各种效果.ImageMagick是免费开源软件,支持大多 ...
- javascript-数组的常用方法
不知大家是否有过跟我类似的经历,就是切图仔刚开始做切图页面的时候,经常调用一些别人写的jquery插件,例如音乐播放器这种需要切换多首音乐的插件.调用的时候就必须有一个音乐队列,而这个队列就是一个数组 ...