无意中看到这个题目,想到用sql来实现下。
思路如下:
两层循环,直接遍历出对应的整数。(其中函数部分也可以替换成对应的条件表达式,只是为了尝试自定义函数的写法)。
本例采用数据库oracle10,可以正常运行。
--自定义的函数
-- 测试自己定义的函数
---sql语句段
共以上三段组成。
--自定义的函数
create or replace function myFunction(x in number, y in number)
return number is
begin
if (x + y + x * y) = 54 then
return 1;
else
return - 1;
end if;
end;
-- 测试自己定义的函数
select myFunction(11,4) from dual;
---sql语句段
declare
x number ;
y number ;
begin
x := 1;
while (x < 54) loop
y := 1;
while (y < 53) loop
if myFunction(x, y) = 1 then -- 或者直接这样写 if (x + y + x * y) = 54 then
DBMS_OUTPUT.PUT_LINE(x || '*****结果*****' || y);
end if;
y := y + 1;
end loop;
x := x + 1;
end loop;
end;
----