使用PL / SQL以计算从一组n个值中选择的k个项目的组合数。我最近创建了一个使用递归来处理字符串,它似乎工作正常,但现在我想将它用于一组输入的n值而不是字符串值,并且似乎无法弄清楚如何正确调整它以使用值而不是字符串。这是我的字符串递归代码。
create or replace
function print_anagrams
(pre in varchar2, str in varchar2)
RETURN varchar2
As
prefix varchar2(30);
stringg varchar2(30);
strlen number;
begin
strlen := length(str);
if NVL(strlen, 0) = 0 then
dbms_output.put_line(pre);
else
for i in 1..strlen loop
prefix := pre || SUBSTR(str,i,1);
stringg := SUBSTR(str,1,i - 1) || SUBSTR(str,i+1,strlen);
print_anagrams(prefix,stringg);
end loop;
end if;
end;
/
答案 0 :(得分:0)
您希望传入的参数是“varchar2表”。有关详细信息,请参阅此文章:http://www.oracle.com/technetwork/issue-archive/2012/12-jul/o42plsql-1653077.html。请注意,如果您愿意,也可以使用“整数表”。