#222207. [2023第十四届蓝桥杯国赛T1] 八进制回文平方数

内存限制:128 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: Krist

题目描述

八进制数:指逢8进位的一种进位计数制,以 0、1、2、3、4、5、6、7 共八个数码表示。例如:十进制数 8 等于八进制数 10,十进制数 64 等于八进制数 100,以此类推。

回文数:反向排列与原来一样的数。例如,12321 是回文数,1231 不是回文数。

平方数:可以写成某个整数的平方的数。例如, 9 = 3^2 ,9 是一个平方数。

给定一个十进制正整数 N(1≤N≤10^9) ,请从小到大输出 1\sim N 之间(含 1 N )所有满足以下要求的数:

1. 这个数转换为八进制后是一个回文数;
2. 这个数是一个平方数。

例如: N=20 ,在 1\sim 20 之间满足要求的数有 1、4、9,因为有:

1 转换为八进制为 1,是一个回文数;且 1 = 12,是一个平方数;

4 转换为八进制为 4,是一个回文数;且 4 = 22,是一个平方数;

9 转换为八进制为 11,是一个回文数;且 9 = 32,是一个平方数。

故输出 1 4 9。

输入格式

输入一个十进制正整数 N(1≤N≤10^9)

输出格式

输出一行,包含若干个十进制正整数,表示满足题目要求的数。结果从小到大输出,两个正整数之间用一个空格隔开。

样例

20
1 4 9