#m0018. C++中级模拟-亚特兰蒂斯神殿

C++中级模拟-亚特兰蒂斯神殿

题目描述

在太平洋深处的马里亚纳海沟,一支深海考古队意外发现了一座沉没的亚特兰蒂斯神殿。神殿大门上刻有一排古老的密码锁,只有当输入正确的"海神密令"时,封印才会解除。

经过对壁画符号的破译,考古学家得知:远古亚特兰蒂斯人将海神密令编码为 1n1 \sim n 范围内的正整数,并且只有同时满足以下两个条件的数字才能被密码锁识别:

  1. 单相稳定:密令必须是奇数(不能被 2 整除);
  2. 镜像对称:密令必须是回文数(正读、反读完全相同)。

请你编写程序,帮考古队从 11nn 的范围内筛选出所有有效的海神密令。

要求:

  1. 第一行输出符合条件的密令总个数;
  2. 第二行从小到大依次输出所有满足条件的密令,用空格隔开。

概念说明

回文数:正反读取结果一致的数。例如 3771319999

输入格式

一行,一个正整数 nn

输出格式

第一行:符合条件的密令个数
第二行:按从小到大顺序,空格隔开输出所有有效密令

样例

100
10
1 3 5 7 9 11 33 55 77 99

数据规模与约定

对于 100%100\% 的数据,1n100001 \le n \le 10000