题库首页 › 蓝桥杯大赛(C语言) › 题目 5695

八进制回文平方数 时间限制: 1000MS 内存限制: 65536KB 提示: 八进制数:指逢8进位的一种进位计数制,以0、1、2、3、4、5、6、7共八个数码表示。例如:十进制数8等于八进制数10,十进制数64等于八进制数100,以此类推。 回文数:反向排列与原来一样的数。例如,12321是回文数,1231不是回文数。 平方数:可以写成某个整数的平方的数。例如,9 = 3^2,9 是一个平方数。 题目描述: 给定一个十进制正整数N(1≤N≤109),请从小到大输出1~N之间(含1和N)所有满足以下要求的数: 1. 这个数转换为八进制后是一个回文数; 2. 这个数是一个平方数。 例如:N=20,在1~20之间满足要求的数有1、4、9,因为有, 1转换为八进制为1,是一个回文数;且1 = 1^2,是一个平方数; 4转换为八进制为4,是一个回文数;且4 = 2^2,是一个平方数; 9转换为八进制为11,是一个回文数;且9 = 3^2,是一个平方数。 故输出1 4 9 输入描述 输入一个十进制正整数N(1≤N≤109) 输出描述 输出一行,包含若干个十进制正整数,表示满足题目要求的数。结果从小到大输出,两个正整数之间用一个空格隔开 【样例输入】 50 【样例输出】 1 4 9

正确答案:参考程序(Python):1~N中,转八进制后是回文数且本身是平方数。枚举i从1到int(sqrt(N)),对i²判断其八进制串是否回文。样例50→1 4 9。核心:枚举平方数判八进制回文。

试卷来源:202305(第14届)蓝桥杯C++编程青少组(国赛)真题

本卷相关题目

在线做题 同科目题库