17,078
社区成员
发帖
与我相关
我的任务
分享
declare
a number:=0;
b number:=0;
c number:=0;
begin
for i in 100..999 loop
a:=mod(i,10);
b:=mod(i/10,10);
c:=mod(i,100);
if (a*a*a + b*b*b + c*c*c) = i then
dbms_output.put_line(i);
end if;
end loop;
end;
select t1.lv
from (select level lv from dual connect by level <= 999) t1
start with t1.lv >= 100
connect by prior t1.lv = t1.lv
and level <= length(t1.lv)
and prior sys_guid() is not null
group by t1.lv
having t1.lv = sum(power(substr(t1.lv, level, 1), length(t1.lv)))
order by t1.lv
;
declare
a number:=0;
b number:=0;
c number:=0;
begin
for i in 100..999 loop
a:=mod(i,10);
b:=mod(floor(i/10),10);
c:=floor(i/100);
if (a*a*a + b*b*b + c*c*c) = i then
dbms_output.put_line(i);
end if;
end loop;
end;
b := mod(trunc(i / 10), 10);
c := trunc(i/ 100);