用编程语言编程实现一个数学问题,并输出结果。
当p<q或q≤0时,S(p,q)=0;当p=q或q=1时,S(p,q)=1。当p>q且q>1时S(p,q)=S(p-1,q-1)+qS(p-1,q)例如:S(4,2)=S...
当p<q或q≤0时,S(p, q) = 0;当p=q或q=1时,S(p, q) = 1。当p>q且q>1时
S(p,q)=S(p-1,q-1)+qS(p-1,q)
例如:S(4, 2)=S(3, 1)+2S(3, 2)=1+2(S(2, 1)+2S(2, 2)) = 7.
要实现我输入任意p,q的值,可以输出S(p,q)的值 展开
S(p,q)=S(p-1,q-1)+qS(p-1,q)
例如:S(4, 2)=S(3, 1)+2S(3, 2)=1+2(S(2, 1)+2S(2, 2)) = 7.
要实现我输入任意p,q的值,可以输出S(p,q)的值 展开
展开全部
用pascal
var x,y:longint;
function s(p,q:longint):longint;
begin
if (p<q) or (q<=0) then
s:=0
else if (p=q) or (q=1) then
s:=1
else if (p>q) and (q>1) then
s:=s(p-1,q-1)+q*s(p-1,q);
exit(s);
end;
begin
readln(x,y);
writeln(s(x,y));
end.
如果PASCAL看不懂,这里有也我写的C++代码
主要就是递归,函数嵌套,选择结构
看在我打了半天代码,希望你能采纳我,谢谢
也希望对你有帮助
更多追问追答
追问
能把输出结果截个图给我吗?当p=30,q=20时的结果。谢谢
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询