题库练习 八进制回文平方数

A71696 | 八进制回文平方数

来源编程题
时间限制1s
内存限制512MB
通过 / 提交0/0

题目描述

  • 八进制数:指逢 8 进位的一种进位计数制,以 01234567 共八个数码表示。例如:十进制数 8 等于八进制数 10,十进制数 64 等于八进制数 100,以此类推。
  • 回文数:反向排列与原来一样的数。例如,12321 是回文数,1231 不是回文数。
  • 平方数:可以写成某个整数的平方的数。例如,9 = 3^29 是一个平方数。

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

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

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

  • 1 转换为八进制为 1,是一个回文数;且 1 = 1^2,是一个平方数;
  • 4 转换为八进制为 4,是一个回文数;且 4 = 2^2,是一个平方数;
  • 9 转换为八进制为 11,是一个回文数;且 9 = 3^2,是一个平方数。

故输出 1\ 4\ 9

输入格式

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

输出格式

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

输入输出样例

输入 #1
20
输出 #1
1 4 9
C++ 编辑器
输入
输出