九度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 题目描述: 省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但 ...
随机推荐
- spring集成mybatis实现mysql读写分离
前言 在网站的用户达到一定规模后,数据库因为负载压力过高而成为网站的瓶颈.幸运的是目前大部分的主流数据库都提供主从热备功能,通过配置两台数据库主从关系,可以将一台数据库的数据更新同步到另一台服务器上. ...
- java 远程调用 RPC
1. 概念 RPC,全称为Remote Procedure Call,即远程过程调用,它是一个计算机通信协议.它允许像调用本地服务一样调用远程服务.它可以有不同的实现方式.如RMI(远程方法调用).H ...
- shell编程之echo printf 命令
shell中 echo 和printf 都能用作输出,printf可以算是echo的增强版 显示转义字符 echo \""abcdef\"" >>& ...
- ECC椭圆曲线详解(有具体实例)
前言 ECC英文全称"Ellipse Curve Cryptography" 与传统的基于大质数因子分解困难性的加密方法不同,ECC通过椭圆曲线方程式的性质产生密钥 ECC164位 ...
- 在Android中使用枚举注解而不是枚举
Enums often require more than twice as much memory as static constants. You should strictly avoid us ...
- centos7中firewall防火墙命令详解
为了架设ss在vultr上买了一个日本的vps 用的是centos7的系统 防火墙是 firewall 捣鼓了两天 在这里总结一下. 如果小伙伴也准备在vultr上买vps 在注册是 可以使用这个优 ...
- 如何成为一个优秀的java程序员
Java程序员有许多应遵循的守则或最佳实践方式.本文概述了每个开发者最应该遵循的10条守则或戒律,如果不遵循它们,将会导致灾难性后果. 1. 为代码添加注释(Add comments to your ...
- VMware Workstation 12 Pro 之安装林耐斯优麒麟 X64系统
VMware Workstation 12 Pro 之安装林耐斯优麒麟 X64系统... --------------------- 先去官网下载ISO格式的系统安装包:http://www.ubun ...
- win7系统中如何使文件显示出扩展名或显示文件后缀名
win7系统中如何使文件显示出扩展名-------------------- 1.点击计算机-->>点击组织,然后选择“文件夹及搜索选项”-->> -------------- ...
- 火币网现货API[Python3版]
火币 期货 现货 API [Python3版] 一.Util.py,基础类,包括参数配置.签名,HTTP 请求方法,发送信息到API #coding=utf-8 import hashlib impo ...