Java中怎样用递归函数求20的阶乘?

Java中怎样用递归函数求20的阶乘?,第1张

int a=1;

for(int k=2;k<=20;k++){

fac=fack;

Systemoutprintln(k="!="+fac);

}

下面的你得自己注意领悟拉:

Function js(i){ //定义函数 js 并传递参数 i

If (i = 1) { //若过程中 i=1

js = 1} //则 js = 1

Else //否则

js = i js(i - 1) //

}

不是返回值不是字符串,而是你的if条件不全,添加一个return 就好了。代码修改如下:

public static String invert(String str, int i){ //尾递归,作用是把“12345”转换为“54321”

if(i>1){

return strsubstring((i-1),i) + invert(str,--i);

}

if(i==1){

return strsubstring(0,1);

}

return "";

}

return 1/n + f(n-1);这里错了java中/当两边都是int是它代表取整运算

2种改法:1)int n = consolenextInt();定义n是用double来定义

2)return 1/n + f(n-1);这里讲结果强转为double

return cattle(n-1)+cattle(n-2)

这个地方相当于先执行cattle(n-1)和cattle(n-2),然后再它们的和返回

以n = 4为例,

先是return cattle(3)+cattle(2)

计算cattle(3)的值时,cattle(3):return cattle(2)+cattle(1)

也就是cattle(3)+cattle(2) = cattle(2)+cattle(1)+cattle(2)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/11669834.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存