【人工求解】
平方根为整数,所以这个数的末尾一定是1/4/5/6/9
而三位数是一个整数的平方的,只有如下的
排除带0的,有重复数字的,还剩下这些
假设其中一个数含有169,那其他数字中不含这三个数的只有324和784,显然不能满足题目要求
故169、196、961均被排除
……
如此分析下去,最后得到
361
529
784
而且仅此一解(按大小顺序排列)
【Oracle SQL】
9i下可用
SQL> with a as (select rm from
(select rownum*rownum rm from dual connect by rownum<32)
where substr(rm,1,1)<>substr(rm,2,1) and substr(rm,2,1)<>substr(rm,3,1)and substr(rm,3,1)<>substr(rm,1,1)),
b as (select a.rm||b.rm||c.rm t from a a,a b, a c where a.rmselect to_char(t,'999,999,999') result from
(select t, instr(b.t,c.ch) i from b, (select rownum ch from dual connect by rownum<10) c
where instr(b.t,c.ch)>0)
group by t having count(*)=9;
RESULT
------------
361,529,784
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29867/viewspace-811934/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29867/viewspace-811934/