今天,我的老师要求我们在 Java 中使用递归实现下一个表达式(其中n是向用户询问的值):

有可能的?我找不到这个问题的正确解决方案,但我想我需要两种递归方法。
到目前为止我已经这样做了:
public static double sumatorio(int n){
if(n==1)
return 1;
else{
return (1 + ((n-1) * segundoSumatorio(n))) + sumatorio(n-1);
}
}
public static double segundoSumatorio(int n){
if(n==1)
return 1;
else
return 1/(double)n + segundoSumatorio(n-1);
}
Run Code Online (Sandbox Code Playgroud)
看起来是正确的,但是当n=3或更大时,结果不准确。有人知道为什么吗?
也许存在与失去精度相关的错误。

我非常感谢您提供的任何帮助。
| 归档时间: |
|
| 查看次数: |
1371 次 |
| 最近记录: |