|
with t as(select level+1e5 l from dual connect by level<4e4),
t1 as(select l-1e5 l from t where mod(substr(l,2,1)+substr(l,3,1)+substr(l,4,1)+substr(l,5,1)+substr(l,6,1),10)=0)
select sum(l||d) from t1,(select level-1 d,power(level-1,5)p5 from dual connect by level<=10)
where (l||d)>9 and (l||d)=(select sum(power(substr(l,level,1),5)) from dual connect by level<=length(l))+p5;
SUM(L||D)
----------
443839
已用时间: 00: 00: 00.40
tnb版本
with targ as (select 6 arg from dual)
, t as (select rownum-1 n from dual connect by rownum<=10)
,ta as (select t1.n || t2.n || t3.n || t4.n || t5.n || t6.n p
from t t1, t t2, t t3, t t4, t t5, t t6
where t1.n<4 and power(t1.n,5) + power(t2.n,5) + power(t3.n,5) + power(t4.n,5) + power(t5.n,5) + power(t6.n,5)
= t1.n || t2.n || t3.n || t4.n || t5.n || t6.n
)
--select * from ta where p>1
select sum(p) - 1 from ta;
SUM(P)-1
----------
443839
已用时间: 00: 00: 02.41 |
|