我们将这样的数字定义为偶位回文数:

该数字的位数是偶数
该数字是一个回文数
例如:1221就是一个偶位回文数,而121和1234都不是偶位回文数,前者不满足数字的位数是偶数,后者不满足回文数。

给定一个正整数n,请你求出从小到大前n个偶位回文数的和是多少?

输入

输入共一行,一个正整数n

输出

输出前n个偶位回文数的和

样例输入 Copy

【样例1】
2
【样例2】
5

样例输出 Copy

【样例1】
33
【样例2】
165

提示

样例1解释:从小到大前两个偶位回文数是11,22,和为33
样例2解释:11+22+33+44+55=165

对于100%的数据,1≤n≤105

思路历程:

若使用for循环从1到一个非常大的数之间写函数直接进行遍历查找偶位回文,则需要进行许多无意义的计算并且花费很多时间。

那么回头去看偶位回文的构成可以发现每个偶位回文由从其在偶位回文数列中的次序构造得出。

如第12个偶位回文是12*100+2*10+1*1=1221;

第61个偶位回文是61*100+1*10+6*1=6116;

那么我们便利用此特点进行突破解题。

因为需要前几个数的和,所以我们先进行回文数的构造。

其中需要用到pow()函数进行数字位数扩大。

为了最后输出不溢出,用long long 类型定义sum保存结果。

#include<iostream>
#include<math.h>
using namespace std;
int main()
{long long int n;
cin>>n;
long long int sum=0;
for(int i=1;i<=n;i++){long long number=0;long long p=0;int k=i;int o=i;while(k>0)//获得此数字的位数。{k=k/10;number++;//number为此数字位数。}p=p+o*pow(10,number);//构造回文数的前半部分。number--;for(number;o>0;number--)//将前半部分颠倒,进行加和。{p=p+o%10*pow(10,number);o/=10;}sum+=p;}cout<<sum;} 

1.此题实现时需要对计算机中数字计算熟练掌握,如求数字位数,根据数字位数倒转数字进行相加,需要良好的基本功。

2.另外在处理此种数字问题时切忌盲目遍历暴力解决,否则会费时费力,提交时会时间超限,徒增麻烦。所以需要摒弃惯性思维,跳出平常思维,用不同的角度看待问题,解决问题。

(优化解决)低时间解决偶位回文相关推荐

  1. 洛谷 P1217 [USACO1.5]回文质数 Prime Palindromes 题解 C/C++

    知识点: 回文数有两种 一种是单数位数,abcba,一种是双数位数,abccba 而双数位数是质数的只有11,即偶位回文数全不是质数除了11:所以不需要枚举到1亿,到1千万就好了 以下几种方法供参考 ...

  2. 【树】B032_LC_ 二叉树中的伪回文路径(暴力 / 优化)

    一.Problem Given a binary tree where node values are digits from 1 to 9. A path in the binary tree is ...

  3. AK F.*ing leetcode 流浪计划之回文串

    欢迎关注更多精彩 关注我,学习常用算法与数据结构,一题多解,降维打击. 文章目录 一.简介 二.解题步骤 三.作用 四.经典算法介绍 判断一个串是否为回文串(单次查询) 普通情况 判断指定字符 多次子 ...

  4. python判断回文数_Python练习题---判断回文数

    设n是一个任意自然数,如果n的各位数字反向排序所得的自然数与n相等,则n被称为回文数,从键盘输入一个5位数字 ,请编写程序判断这个数字是不是回文数. 思路:先获取一个字符串,再判断该字符串是否满足是自 ...

  5. 用C语言求三位数的回文素数,C语言求回文素数

    问题描述 所谓回文素数指的是,对一个整数n从左向右和从右向左读其数值都相同且n为素数,则称整数为回文素数. 对于偶数位的整数,除了11以外,都不存在回文素数.即所有的4位整数.6位整数. 8位整数-都 ...

  6. 数据结构-----最长回文子串

    题目描述 给定一个字符串,找出该字符串的最长回文子串.回文字符串指的就是从左右两边看都一样的字符串,如aba,cddc都是回文字符串.字符串abbacdc存在的回文子串有abba和cdc,因此它的最长 ...

  7. 数据结构之回文专题(Palindrome)

    今日整理数据结构时正好遇到了回文专题,接下来我们会选典型的回文数.回文单链表.回文子串进行探讨,编程语言随机为C或者java.首先我们来看回文数,如何判断一个整数位回文数呢?小白我的理解应该是:121 ...

  8. 蓝桥杯 算法提高 回文串

    题目 问题描述 一个正整数N被称为回文数,当且仅当N在十进制下,正着读和反着读是一样的. 如12321是回文的,而12320不是. 现在让你求出第K小的回文数.(第0小的是 1,第1小的是 2) 输入 ...

  9. c语言mn回文素数编程,C语言求回文素数

    问题描述 所谓回文素数指的是,对一个整数n从左向右和从右向左读其数值都相同且n为素数,则称整数为回文素数. 对于偶数位的整数,除了11以外,都不存在回文素数.即所有的4位整数.6位整数. 8位整数-都 ...

最新文章

  1. Java项目:医院分诊挂号住院管理系统(java+SpringBoot+FreeMarker+Mysql)
  2. jQuery获取带点的id元素
  3. VS2019如何导出exe文件_Win10+VS2019源码编译HDF5(1.10.6)
  4. 发送请求获取响应内容(c#)
  5. FISCO BCOS 2.0发布:新增群组架构克服吞吐瓶颈
  6. Spring boot的@PropertySource注解
  7. 排版 项目 html,实现HTML自动排版的法则2_html
  8. php cli mysql_php – 为什么mysql CLI可以连接,但不能连接WordPress?
  9. 万箭齐发!COSCon' 21深圳分会场闪亮登场!
  10. 在linux通过源码编译安装redis详细步骤
  11. nginx不缓存html页面耗性能,加速nginx性能: 开启gzip和缓存
  12. Java中stringbutter_java 中String和StringBuffer与StringBuilder的区别及使用方法
  13. php中文离线手册 chm_PHP官方中文手册2017最新完整版 带用户注释 chm
  14. rollup分析函数
  15. DOS文件系统-FAT32的理解
  16. 积分图的SSE和AVX2优化
  17. 一刀工具箱 - 图片转链接(图床)工具
  18. arcgis python实例_科学网—ArcGIS,Python,网络数据集中查询两点最短路径 - 余露的博文...
  19. 阿里云服务(四)—云数据库RDS
  20. 【物联网毕设基础】单片机:RS485 通信与 Modbus 协议

热门文章

  1. 银河麒麟服务器系统ip可ping通,但是tongweb的默认端口9060、8088不能访问,访问提示404
  2. 《屏幕上的聪明决策》:4星。人类在手机/电脑上做选择的心理学研究的综述。不流畅的文本有助于理解和记忆,淘汰赛制可以有效降低选择后懊悔。...
  3. 评价指标(metrics)
  4. 市场购物篮分析 Market Basket Analysis
  5. 【测试】bug的生命周期和组成部分
  6. 【原创】怎样关联多个 Excel 档工作表(Sheet)中的数据
  7. 完整简单c语言程序代码,一些简单的C语言程序代码.docx
  8. Audioservice、Audiomanager和Audiosystem
  9. 新浪财经隆重推出四大千万级财经博客
  10. 强制开启AHCI模式的方法