1. #include <iostream>
  2. #include <string.h>
  3. #include <sstream>
  4. #include <math.h>
  5. #include <vector>
  6. #include <algorithm>
  7. using namespace std;
  8. int susuTable[]={};
  9. bool isLear(int num)
  10. {
  11. if(num==)
  12. return true;
  13. else
  14. {
  15. int i = ;
  16. for(;i<=sqrt(num);i++)
  17. {
  18. if(num%i == )
  19. return false;
  20. }
  21. return true;
  22. }
  23. }
  24. void setArr(int arr[])
  25. {
  26. int i = ;
  27. int totalBit = ;
  28. while(totalBit!=)
  29. {
  30. if(isLear(i) ==true)
  31. {
  32. arr[totalBit] = i;
  33. totalBit++;
  34. }
  35. i++;
  36. }
  37. }
  38. void display(int arr[])
  39. {
  40. int i = ;
  41. for(;i<;i++)
  42. {
  43. cout<<arr[i]<<" ";
  44. }
  45. }
  46. void transString(string spark,vector<int> &vec)
  47. {
  48.  
  49. int len = spark.length();
  50. int i = ;
  51. while(i!=len)
  52. {
  53. int temp = ;
  54. while(spark[i]!=',' && i!=len)
  55. {
  56. temp = temp* + (spark[i]-'');
  57. i++;
  58. }
  59. vec.insert(vec.begin(),temp);
  60. if(i==len)
  61. break;
  62. else
  63. i++;
  64. }
  65. }
  66. void disVec(vector<int> vec)
  67. {
  68. int i=vec.size()-;
  69. for(;i>=;i--)
  70. {
  71. cout<<vec[i];
  72. if(i!=)
  73. cout<<',';
  74. }
  75. cout<<endl;
  76. }
  77. void add(vector<int> &vecA,vector<int> &vecB)
  78. {
  79. int upFlow = ;
  80. int index = ;
  81. int sizeA = vecA.size();
  82. int sizeB = vecB.size();
  83. if(sizeB > sizeA)
  84. vecA.swap(vecB);
  85.  
  86. int i = ;
  87. for(;i<vecB.size();i++)
  88. {
  89. vecA[i] = vecA[i] + vecB[i] + upFlow;
  90. if(vecA[i] >= susuTable[i+])
  91. {
  92. vecA[i] %= susuTable[i+];
  93. upFlow = ;
  94. }
  95. else
  96. upFlow = ;
  97. }
  98.  
  99. for(;i<vecA.size();i++)
  100. {
  101. vecA[i] = vecA[i] + upFlow;
  102. if(vecA[i] >= susuTable[i+])
  103. {
  104. vecA[i] %= susuTable[i+];
  105. upFlow = ;
  106. }
  107. else
  108. upFlow = ;
  109. }
  110. if(upFlow==)
  111. vecA.push_back();
  112. }
  113.  
  114. int main()
  115. {
  116. string num_a,num_b;
  117. vector<int> vecA;
  118. vector<int> vecB;
  119. setArr(susuTable);
  120. //display(susuTable);
  121.  
  122. cin>>num_a>>num_b;
  123. while(!(num_a =="" || num_b==""))
  124. {
  125. transString(num_a,vecA);
  126. //disVec(vecA);
  127. transString(num_b,vecB);
  128. add(vecA,vecB);
  129. disVec(vecA);
  130. vecA.clear();
  131. vecB.clear();
  132. cin>>num_a>>num_b;
  133.  
  134. }
  135. return ;
  136. }

题目描述见上一篇。

解题思路:将火星数字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. 学习笔记TF035:实现基于LSTM语言模型

    神经结构进步.GPU深度学习训练效率突破.RNN,时间序列数据有效,每个神经元通过内部组件保存输入信息. 卷积神经网络,图像分类,无法对视频每帧图像发生事情关联分析,无法利用前帧图像信息.RNN最大特 ...

  2. RabbitMQ入门与使用篇

    介绍 RabbitMQ是一个由erlang开发的基于AMQP(Advanced Message Queue)协议的开源实现.用于在分布式系统中存储转发消息,在易用性.扩展性.高可用性等方面都非常的优秀 ...

  3. Mac 如何优雅的使用Microsoft office

    近期要使用文档编辑,但是发现mac下的pages实在不好用,或者说是不习惯,想安装个office  发现官方的office 都基本上要收费,网上的多数都要激活.实在没办法(没钱),看看WPS ,结果w ...

  4. HTML5.1 推荐中 1.5.3. Extensibility 段落翻译

    可拓展性 HTML有广泛的可扩展性机制,可用于以安全的方式添加语义: 作者可以使用class属性来扩展元素,有效地创建自己的元素,同时使用最适用的现有的"real"HTML元素,这 ...

  5. WebSphere服务器已启动但是初始化失败问题

    --WebSphere服务器已启动但是初始化失败问题 -----------------------------------------------2014/03/06 经常有开发同事反映,环境用着用 ...

  6. Android自定义控件系列之应用篇——圆形进度条

    一.概述 在上一篇博文中,我们给大家介绍了Android自定义控件系列的基础篇.链接:http://www.cnblogs.com/jerehedu/p/4360066.html 这一篇博文中,我们将 ...

  7. ios逆向过程中lldb调试技巧

    在ios逆向过程中,善于运用lldb,会给逆向带来很大的方便 一般的命令: 1.image list -o -f  看看各个模块在内存中的基址 2.register read r0  读取寄存器r0的 ...

  8. 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 ...

  9. 如何使用 flannel host-gw backend?- 每天5分钟玩转 Docker 容器技术(62)

    flannel 支持多种 backend,前面我们讨论的是 vxlan,host-gw 是 flannel 的另一个 backend,本节会将前面的 vxlan backend 切换成 host-gw ...

  10. JavaScript笔记之第一天

    JavaScript 1.JavaScript 显示数据 JavaScript 可以通过不同的方式来输出数据: 使用 window.alert() 弹出警告框. 使用 document.write() ...