1024. Palindromic Number (25)
来源:互联网 发布:c语言手册 chm 编辑:程序博客网 时间:2024/06/10 21:48
题目链接:https://www.patest.cn/contests/pat-a-practise/1024
题目大意:判断a是否是回文数,若不是则计算a+(a的逆置)是否是回文数,如此迭代。若迭代k轮之后仍不是回文数,输出第k轮的a+(a的逆置)
解题思路:
- 注意溢出的问题,long long也是会溢出的,会有两个测试点不通过,所以要用字符串存储数字
- 字符串可以使用函数reverse()来进行逆置
代码如下:
#include <iostream>#include <string>#include <algorithm>using namespace std;string add(string a,string b){ int tmp=0; string c=a; for(int i=b.length()-1;i>=0;i--){ c[i]=(a[i]+b[i]-'0'-'0'+tmp)%10+'0'; if((a[i]+b[i]-'0'-'0'+tmp)<10) tmp=0; else tmp=1; } if(tmp==1) c='1'+c; return c;}int main(int argc, char const *argv[]){ string a; int k; cin>>a>>k; int c;//c保存迭代的次数 for(c=0;c<k;c++){ string s=a; reverse(s.begin(),s.end()); if(a==s)//判断是否是回文数 break; a=add(a,s); } cout<<a<<endl<<c<<endl; return 0;}
阅读全文
0 0
- 1024. Palindromic Number (25)
- 1024. Palindromic Number (25)
- 1024. Palindromic Number (25)
- 1024. Palindromic Number (25)
- 1024. Palindromic Number (25)
- 1024. Palindromic Number (25)
- 1024. Palindromic Number (25)
- 1024. Palindromic Number (25)
- 1024. Palindromic Number (25)
- 1024. Palindromic Number (25)
- 1024. Palindromic Number (25)
- 1024. Palindromic Number (25)
- 1024. Palindromic Number (25)
- 1024. Palindromic Number (25)
- 1024. Palindromic Number (25)
- 1024. Palindromic Number (25)
- 1024. Palindromic Number (25)
- 1024. Palindromic Number (25)
- JavaScript-运算符(%)秒转时间
- HDU1002
- 设计模式之迭代器模式
- C语言中atoi()函数实现--字符串转int型整数
- C++之区分接口继承和实现继承(34)---《Effective C++》
- 1024. Palindromic Number (25)
- HTML——表格、表单
- UVa 202 (分数最小循环节)
- poj1328Radar Installation (贪心)
- Java学习笔记(二)—— 反射
- POJ3662
- android7.0沉浸式状态栏蒙灰问题
- CSRF攻击与防御(写得非常好)
- 一个简单的数字幸运抽奖小程序