当前位置:首页 > 枚举 > 正文
SSOJ1073回文平方数[USACO]
3348+

题目大意:如果一个数的平方是回文数,那就输出来,对于二进制到二十进制,都是这样做。

题目描述

回文数是指从左向右念和从右向左念都一样的数。如12321就是一个典型的回文数。

给定一个进制B(2<=B<=20,由十进制表示),输出所有的大于等于1小于等于300(十进制下)且它的平方用B进制表示时是回文数的数。用’A’,’B’……表示10,11等等。

输入

共一行,一个单独的整数B(B用十进制表示)。

输出

每行两个B进制的符合要求的数字,第二个数是第一个数的平方,且第二个数是回文数.

样例输入

10

样例输出

1 1
2 4
3 9
11 121
22 484
26 676
101 10201
111 12321
121 14641
202 40804
212 44944
264 69696

解题思路

虽然进制超过9,会出现字母,但我们判断回文的时候,并不需要管太多,即使该位是2位数,也可以之间是否相等(代码3-9行)。

进制超过9,对输出有影响,不能之间%d,不然字母会输出错误。解决方法是将数字各位存入数组中,再写一个输出函数,倒序输出,分开小于10和大于9两种情况。

有判断回文和输出函数,接下来就是主函数的枚举,逐个数组枚举,如果平方是回文,那就倒序存入数组输出。

程序实现

About

坚决不Copy代码!

本文标签:,,,,,,,

SSOJ1073回文平方数[USACO]:等您坐沙发呢!

发表评论

您必须 [ 登录 ] 才能发表留言!