洛谷——P1609 最小回文数
2024-08-27 11:43:26
题目描述
回文数是从左向右读和从右向左读结果一样的数字串。
例如:121、44 和3是回文数,175和36不是。
对于一个给定的N,请你寻找一个回文数P,满足P>N。
满足这样条件的回文数很多,你的任务是输出其中最小的一个。
输入输出格式
输入格式:
1行,一个正整数N。N的数值小于10^100,并且N没有前导0。
输出格式:
你的程序应该输出一行,最小的回文数P(P>N)。
输入输出样例
说明
50%的数据,N<10^9
100%的数据,N<10^100
40分模拟
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #define N 110 using namespace std; char ch[N];int l; int main() { cin>>ch+;ch[]='; l=strlen(ch+); ==) { ;i>=;i--) { ') ch[i-]+=(ch[i]-,ch[i]=(ch[i]-+'; else { ]+=; else break; } } ]!=') { ;i<=l+;i++) printf("); ; } ;i<=l/;i++) printf("%c",ch[i]); ;i>=;i--) printf("%c",ch[i]); } else { +]!=+]+=; else { ch[l/+]=]+=; ;i>=;i--) { ') ch[i-]+=(ch[i]-,ch[i]=(ch[i]-+'; else break; } } ]!=') { ;i<=l+;i++) printf("); ; } ;i<=l/;i++) printf("%c",ch[i]); printf(+]); ;i>=;i--) printf("%c",ch[i]); } ; }
40分模拟
题解
var s,s1:string; i,len:longint; begin readln(s); len:=length(s); s1:=s; to len div do s1[len-i+]:=s[i]; if s1>s then begin write(s1); halt; end; i:=(len+) div ; ) do dec(i); then begin write(); to len- ); write(); halt; end to (len+) div '; end; to len div do s[len-i+]:=s[i]; write(s); end.
最新文章
- 通过HTTP协议上传文件
- [IOS 开发] 懒加载 (延迟加载) 的基本方式,好处,代码示例
- linuxz终端开启echo颜色显示
- python——协程
- oralce表空间自增长占满磁盘
- Android SDK镜像
- wpf中,一个简单的自定义treeview
- 老李分享:Robotium创建Note的实例
- Android ViewPager无法使用wrap_content属性自适应高度
- 从源码(编译)安装golang
- 基于Twitter的Snowflake算法实现分布式高效有序ID生产黑科技(无懈可击)
- Python爬虫【实战篇】scrapy 框架爬取某招聘网存入mongodb
- docker简单介绍---部署私有docker仓库Registry
- MUI 拍照或选取照片上传作为头像
- 前端 HTML body标签相关内容 常用标签 表单标签 form里面的 label标签介绍
- 让运行着的ASP.NET Web程序重新启动
- Quartz.Net定时任务EF+MVC版的web服务
- 做一个树莓派Raspberry Pi拍立得
- c#学习路线及目录导航
- 【BZOJ】4767: 两双手【组合数学】【容斥】【DP】