#O3815. LQ.蓝桥杯.十四届.国赛.编程题.01.八进制回文平方数

LQ.蓝桥杯.十四届.国赛.编程题.01.八进制回文平方数

提示

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

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

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

问题描述

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

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

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

11 转换为八进制为 11 ,是一个回文数;且 1=121=1^2,是一个平方数

44 转换为八进制为 44 ,是一个回文数;且 4=224=2^2,是一个平方数;

99 转换为八进制为 1111,是一个回文数;且 9=329=3^2,是一个平方数故输出 1 4 9

输入描述

输入一个十进制正整数 N( 1N<109 )N(\ 1\le N \lt 10^9\ )

输出描述

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

样例

20
1 4 9