POJ2402+模拟
题意:找出第index 个回文数。
这题是有规律的,即list[]数组。
其次,对于某个 index 可以先精确到 位数 pos,然后在进行分析。
1a
1 #include<stdio.h> 2 #include<string.h> 3 #include<math.h> 4 typedef __int64 int64; 5 int64 list[ 24 ]; 6 int ans[ 240 ]; 7 8 void init(){ 9 list[0] = 0; 10 list[1] = 9; 11 list[2] = 9; 12 list[3] = 90; 13 list[4] = 90; 14 list[5] = 900; 15 list[6] = 900; 16 list[7] = 9000; 17 list[8] = 9000; 18 list[9] = 90000; 19 list[10] = 90000; 20 list[11] = 900000; 21 list[12] = 900000; 22 list[13] = 9000000; 23 list[14] = 9000000; 24 list[15] = 90000000; 25 list[16] = 90000000; 26 list[17] = 900000000; 27 list[18] = 900000000; 28 list[19] = 9000000000; 29 list[20] = 9000000000; 30 //printf("list20=%I64d\n",list[20]); 31 } 32 int main(){ 33 int64 index; 34 init(); 35 while( scanf("%I64d",&index),index ){ 36 int pos; 37 for( int num=0;num<=20;num++ ){ 38 if( index>=list[ num ] ){ 39 index -= list[ num ]; 40 pos = num; 41 } 42 else 43 break; 44 } 45 if( index>0 ) pos ++; 46 //printf("pos=%d\n",pos); 47 if( index==0 ){ 48 for( int i=0;i<pos;i++ ) 49 printf("9"); 50 printf("\n"); 51 continue; 52 } 53 int64 cur = list[ pos ]/9; 54 if( index>=cur ){ 55 index += cur; 56 index --; 57 int tt=0; 58 while( index!=0 ){ 59 ans[ tt++ ] = index%10; 60 index /= 10; 61 } 62 if( pos%2==0 ){ 63 for( int i=tt-1;i>=0;i-- ) 64 printf("%d",ans[i]); 65 for( int i=0;i<tt;i++ ) 66 printf("%d",ans[i]); 67 printf("\n"); 68 }//偶数位 69 else{ 70 for( int i=tt-1;i>=0;i-- ) 71 printf("%d",ans[i]); 72 for( int i=1;i<tt;i++ ) 73 printf("%d",ans[i]); 74 printf("\n"); 75 }//奇数位 76 } 77 else{ 78 index--; 79 int num1 = 0; 80 int num2 = 0; 81 while( cur!=0 ){ 82 num1++; 83 cur /= 10; 84 } 85 int tt = index; 86 while( tt!=0 ){ 87 num2++; 88 tt /= 10; 89 } 90 tt = 0; 91 while( index!=0 ){ 92 ans[tt++] = index%10; 93 index/=10; 94 } 95 for( int i=1;i<=num1-num2;i++ ) 96 if( i==num1-num2 ) 97 ans[tt++] = 1; 98 else 99 ans[tt++] = 0; 100 if( pos%2==0 ){ 101 for( int i=tt-1;i>=0;i-- ) 102 printf("%d",ans[i]); 103 for( int i=0;i<tt;i++ ) 104 printf("%d",ans[i]); 105 printf("\n"); 106 } 107 else{ 108 for( int i=tt-1;i>=0;i-- ) 109 printf("%d",ans[i]); 110 for( int i=1;i<tt;i++ ) 111 printf("%d",ans[i]); 112 printf("\n"); 113 } 114 } 115 } 116 return 0; 117 }
View Code
转载于:https://www.cnblogs.com/xxx0624/p/3209033.html
POJ2402+模拟相关推荐
- springboot实现SSE服务端主动向客户端推送数据,java服务端向客户端推送数据,kotlin模拟客户端向服务端推送数据
SSE服务端推送 服务器向浏览器推送信息,除了 WebSocket,还有一种方法:Server-Sent Events(以下简称 SSE).本文介绍它的用法. 在很多业务场景中,会涉及到服务端向客户端 ...
- curl模拟post请求
另外可尝试 postman工具 或者用request 直接请求 CURL 发送POST请求curl -header "Content-Type: application/json" ...
- flask_模拟请求post,get
#coding:utf-8 import requestsres = requests.post(url="http://192.168.135.105:8888/",data={ ...
- 模拟内存计算如何解决边缘人工智能推理的功耗挑战
模拟内存计算如何解决边缘人工智能推理的功耗挑战 How analog in-memory computing can solve power challenges of edge AI inferen ...
- 为放大器模拟输入模块提供可靠的输入过电压保护
为放大器模拟输入模块提供可靠的输入过电压保护 Signal Chain Basics #159: Provide robust input overvoltage protection for amp ...
- 模拟Servlet本质
JavaWeb系列教程,持续更新 JavaWeb-Servlet 模拟Servlet本质 使用IDEA开发Servlet程序 Servlet对象的生命周期 适配器(GenericServlet)改造S ...
- 2021年大数据Flink(四十):Flink模拟双十一实时大屏统计
目录 Flink模拟双十一实时大屏统计 需求 数据 编码步骤: 1.env 2.source 3.transformation 4.使用上面聚合的结果,实现业务需求: 5.execute 参考代码 实 ...
- Python:模拟登录、点击和执行 JavaScript 语句案例
案例一:网站模拟登录 # douban.pyfrom selenium import webdriver from selenium.webdriver.common.keys import Keys ...
- 杨老师课堂_Java核心技术下之控制台模拟文件管理器案例
背景需求介绍: 编写一个模拟文件管理器的程序,实现控制台对文件和文件夹的管理操作. 要求在此程序中: 当用户输入指令 1 时,代表"指定关键字检索文件",此时需要用户输入检索的目录 ...
最新文章
- 【Linux】Linux下的硬链接与符号链接
- Android开发实践:掌握Camera的预览方向和拍照方向
- 《Win32多线程程序设计》学习笔记 第17章 OLE ActiveX COM
- .sync的一个用法
- 一个form 如何做两次提交_如何做一个优秀的家长
- 登陆 tomcat manager
- 搭建第一个Docker
- SQL中WHERE子句介绍
- PHP树形结构数据增加每层的级别
- js 根据某属性取出数组中对应的对象
- 电脑桌面录屏软件大全,给大家推荐一波优秀的屏幕录像工具!
- ThinkPHP 3.2.3 验证码 (解决图片不显示的问题)
- 独立站的SEO搜索引擎优化
- 全栈学习的知识点梳理(一)
- 工程项目管理思维导图模板
- 比chatgpt稍逊的ai问答网站phind,专用于编写代码
- Android Studio 4.22 解决com.android.tools.idea.run.ApkProvisionException
- STM32之中断的使用
- Java语言的特点及应用有哪些
- 大数据-日志接收处理
热门文章
- 乒乓球比赛赛程_丁宁休战,刘诗雯做手术!李隼、秦志戬做介绍,国乒最新赛程曝光...
- matlab ufunc,ufunc函数
- Bytes int java_Java Bytes.readInt方法代码示例
- ifconfig没有命令 kali_新装的Linux系统没有ifconfig命令?教你一键找回
- html邮件模板编辑器_免费电子邮件群发工具推荐「aweber」
- oracle误删表空间 无法关闭,oracle 误删表空间文件启动不了数据库的解决办法
- java 添加联系人,java – 如何将联系人添加到组android
- 阻塞队列 java实现_JAVA实现阻塞队列
- jsx后缀的是什么文件_React-从JSX到虚拟DOM
- 高并发高可用系统应对策略的一些思考