declare
a number;
b number;
c number;
d number;
begin
for i in 1000..9999
loop
a:=substr(i,1,1);
b:=substr(i,2,1);
c:=substr(i,3,1);
d:=substr(i,4,1);
if(i=(a*10+b)*(c*10+d)) then /* 1*/
dbms_output.put_line(i);
elsif (i=(a*10+b)*(d*10+c)) then
dbms_output.put_line(i);
elsif (i=(b*10+a)*(c*10+d)) then
dbms_output.put_line(i);
elsif (i=(b*10+a)*(d*10+c)) then
dbms_output.put_line(i);
elsif (i=(a*10+c)*(b*10+d)) then /* 2*/
dbms_output.put_line(i);
elsif (i=(a*10+c)*(d*10+b)) then
dbms_output.put_line(i);
elsif (i=(c*10+a)*(b*10+d)) then
dbms_output.put_line(i);
elsif (i=(c*10+a)*(d*10+b)) then
dbms_output.put_line(i);
elsif (i=(a*10+d)*(b*10+c)) then /*3*/
dbms_output.put_line(i);
elsif (i=(a*10+d)*(c*10+b)) then
dbms_output.put_line(i);
elsif (i=(d*10+a)*(b*10+c)) then
dbms_output.put_line(i);
elsif (i=(d*10+a)*(c*10+b)) then
dbms_output.put_line(i);
elsif (i=(b*10+c)*(a*10+d)) then /* 4*/
dbms_output.put_line(i);
elsif (i=(b*10+c)*(d*10+a)) then
dbms_output.put_line(i);
elsif (i=(c*10+b)*(a*10+d)) then
dbms_output.put_line(i);
elsif (i=(c*10+b)*(d*10+a)) then
dbms_output.put_line(i);
end if;
end loop;
end;