九度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 题目描述: 省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但 ...
随机推荐
- 学习笔记TF035:实现基于LSTM语言模型
神经结构进步.GPU深度学习训练效率突破.RNN,时间序列数据有效,每个神经元通过内部组件保存输入信息. 卷积神经网络,图像分类,无法对视频每帧图像发生事情关联分析,无法利用前帧图像信息.RNN最大特 ...
- RabbitMQ入门与使用篇
介绍 RabbitMQ是一个由erlang开发的基于AMQP(Advanced Message Queue)协议的开源实现.用于在分布式系统中存储转发消息,在易用性.扩展性.高可用性等方面都非常的优秀 ...
- Mac 如何优雅的使用Microsoft office
近期要使用文档编辑,但是发现mac下的pages实在不好用,或者说是不习惯,想安装个office 发现官方的office 都基本上要收费,网上的多数都要激活.实在没办法(没钱),看看WPS ,结果w ...
- HTML5.1 推荐中 1.5.3. Extensibility 段落翻译
可拓展性 HTML有广泛的可扩展性机制,可用于以安全的方式添加语义: 作者可以使用class属性来扩展元素,有效地创建自己的元素,同时使用最适用的现有的"real"HTML元素,这 ...
- WebSphere服务器已启动但是初始化失败问题
--WebSphere服务器已启动但是初始化失败问题 -----------------------------------------------2014/03/06 经常有开发同事反映,环境用着用 ...
- Android自定义控件系列之应用篇——圆形进度条
一.概述 在上一篇博文中,我们给大家介绍了Android自定义控件系列的基础篇.链接:http://www.cnblogs.com/jerehedu/p/4360066.html 这一篇博文中,我们将 ...
- ios逆向过程中lldb调试技巧
在ios逆向过程中,善于运用lldb,会给逆向带来很大的方便 一般的命令: 1.image list -o -f 看看各个模块在内存中的基址 2.register read r0 读取寄存器r0的 ...
- What is the difference between Debug and Release in Visual Studio?
"Debug" and "Release" are actually just two labels for a whole slew of settings ...
- 如何使用 flannel host-gw backend?- 每天5分钟玩转 Docker 容器技术(62)
flannel 支持多种 backend,前面我们讨论的是 vxlan,host-gw 是 flannel 的另一个 backend,本节会将前面的 vxlan backend 切换成 host-gw ...
- JavaScript笔记之第一天
JavaScript 1.JavaScript 显示数据 JavaScript 可以通过不同的方式来输出数据: 使用 window.alert() 弹出警告框. 使用 document.write() ...