文章目录

  • 题目分析
  • 题目链接

题目分析

此题和PAT甲级1024 Palindromic Number:[C++题解]回文串和高精度加法 一样。区别是多了输出整个计算过程。

下面是主要知识点。

一个判断是否是回文数的函数:check,思路是使用双指针从两端分别往里走。

另一个是高精度加法函数add,传入两个vector。

另外,vector逆序构造可以直接使用 vector的构造函数的一种

vector<int> a;
//逆序构造vector
vector<int> b(a.rbegin(),a.rend());

ac代码

#include<bits/stdc++.h>
using namespace std;bool check(vector<int>& a){for(int i=0 , j =a.size()-1; i<j; i++ ,j--)if(a[i] != a[j])  return false;return true;
}vector<int> add(vector<int>& a,  vector<int>& b){vector<int> c;int t =0;for(int i=0; i<a.size() || i<b.size(); i++){int s = t;if(i<a.size()) s+=a[i];if(i<b.size()) s+=b[i];c.push_back( s%10);t= s/10;}if(a.size() == b.size() && t) c.push_back(1);for(int i=a.size()-1;i>=0; i--) cout<<a[i];cout<<" + ";for(int i=b.size()-1;i>=0;i--) cout<<b[i];cout<<" = ";for(int i=c.size()-1;i>=0;i--) cout<<c[i];cout<<endl;return c;
}int main(){string A;cin>>A;vector<int> a;for(int i=A.size()-1;i>=0; i--) a.push_back(A[i]-'0'); if(!check(a)){int cnt = 0;while(cnt<10){vector<int> b(a.rbegin(),a.rend());a  = add(a ,b);cnt++;if(check(a)){for(int i=a.size()-1;i>=0;i--) cout<<a[i];printf(" is a palindromic number.");break;}}if(cnt==10) printf("Not found in 10 iterations.");}else{for(int i=a.size()-1;i>=0;i--) cout<<a[i];printf(" is a palindromic number.");}}

题目链接

PAT甲级1136 A Delayed Palindrome

PAT甲级1136 A Delayed Palindrome :[C++题解]回文串和高精度并输出过程相关推荐

  1. PAT甲级1024 Palindromic Number:[C++题解]回文串和高精度加法

    文章目录 题目分析 题目链接 题目分析 一个判断是否是回文数的函数:check,思路是使用双指针从两端分别往里走. 另一个是高精度加法函数add,传入两个vector. 另外,vector逆序构造可以 ...

  2. LeetCode Palindrome Partitioning(dfs +回文串 )

    问题:给出一个字符串,输出回文串,使得拼接后为原来的字符串 思路:先通过动态规划得到所有的回文串,然后使用深度优先搜索得到所有的解 具体代码参考: https://github.com/wuli249 ...

  3. leetcode 214. Shortest Palindrome | 214. 最短回文串(Java)

    题目 https://leetcode.com/problems/shortest-palindrome/ 题解 看了 Related Topics - Rolling Hash 下的相关题目,看到了 ...

  4. leetcode 1328. Break a Palindrome | 1328. 破坏回文串(贪心)

    题目 https://leetcode.com/problems/break-a-palindrome/ 题解 分析所有可能情况,然后贪心. class Solution {public String ...

  5. PAT甲级1138 Postorder Traversal:[C++题解]前序遍历和中序遍历建树

    文章目录 题目分析 题目链接 题目分析 做过前面几道题,发现这道题就是一道模板题,递归建树即可. 还是使用笔者熟悉的hash表来找根,进行优化. 请移步至笔者的另一篇文章:PAT甲级1020 Tree ...

  6. 1136. A Delayed Palindrome (20) 大数模拟

    1136. A Delayed Palindrome (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue ...

  7. 「HDU6599 I Love Palindrome String」 - 回文自动机

    HDU 6599 I Love Palindrome String tags:回文自动机 题意 让你求有多少个 \([l,r]\) 满足 \(s[l,r]\) 和 \(s\left[l,\frac{l ...

  8. [题解]第十一届北航程序设计竞赛预赛——L.偶回文串

    题目描述 长度为偶数的回文串被称为偶回文串.如果一个字符串重新排序之后能够成为一个偶回文串,则称为可回文的. 给一个字符串,求可回文的子串个数.字符串只含小写字母,单个字符串长度不超过10^5,所有数 ...

  9. HDU-6599 I Love Palindrome String(回文自动机+字符串hash)

    题目链接 题意:给定一个字符串\(|S|\le 3\times 10^5\) 对于每个 \(i\in [1,|S|]\) 求有多少子串\(s_ls_{l+1}\cdots s_r\)满足下面条件 \( ...

最新文章

  1. 【Android 插件化】Hook 插件化框架 ( 反射工具类 | 反射常用操作整理 )
  2. P2831-愤怒的小鸟【状压dp】
  3. 信息学奥赛一本通(1055:判断闰年)
  4. mysql5.7.28下载_MySql5.7.28下载、安装、登陆详解
  5. Java中抽象类和接口的区别 经典(转)
  6. mybatis框架的搭建简单步骤,还有其他的各项配置说明,简单易懂,仅作为个人参考,不作为网络学习借鉴
  7. map转json,json转对象
  8. 项目分析-纷享车链AutoChain的数据保险柜解读
  9. java openxml word_C#采用OpenXml实现给word文档添加文字
  10. 微信开发(微信扫一扫)商品创建
  11. JavaScript三种弹出框(alert、confirm、prompt),一次性全弄清!
  12. Android Studio系统状态栏,设置setSmallIcon通知图标无效问题及解决方案
  13. 如何开发⼀款移动端 Libra 钱包
  14. 解决上网认证系统 IP 更改后 Ubuntu 等 Linux 系统无法上网的问题
  15. ArrayList删除某元素的几种方法
  16. html访问access,HTML_ACCESS数据访问页配置实例,今天在本机上配置成功三层式 - phpStudy...
  17. 河北大学计算机专业调剂,河北大学考研接收调剂信息
  18. ERP、BOSS、CRM的定位及区别
  19. Arduino IDE快速搭建STM32F1和F4系列开发板环境和程序烧录
  20. mybatis根据id、idList查询数据

热门文章

  1. JavaWeb中的简单分页
  2. C# 仿金山毒霸启动和关闭淡入淡出效果
  3. VB6.0 怎样启用控件comdlg32.ocx
  4. 强烈推荐Bulletproof Ajax 中文版
  5. Spring.NET企业架构实践之 JQuery + FlexiGrid + ASP.NET MVC + NVelocity + WCF + LINQ + NHibernate 综合应用...
  6. flash的运算比较符
  7. sharp扫地机器人讲话_扫地机机器人,智能扫地机器人推荐
  8. SOPC第三课---同时点亮4个LED灯闪烁
  9. Latex安装中知道的基础常识
  10. LINUX 使用tcgetattr函数与tcsetattr函数控制终端五