weixin_42042460 2018-04-22 11:52 采纳率: 63.6%
浏览 936
已采纳

如何用递归计算Loga(n) java或者python

如何在java或者python中不用math库而用递归写出精确度高的计算loga(n)的方法?
以a为底

def recursivelog(n, x, b, l=None, u=None):
assert( n >= 0)
assert( x >= 1)
assert( isinstance(b, int) )
assert( b >= 2 )
float(x)
if(x<b):
return 0
else:
return 1+ recursivelog(n-1,x/b,b)
我自己的程序精度太差而且返回的都是整数

  • 写回答

3条回答 默认 最新

  • 默默悟问 2018-04-23 05:55
    关注

    另外推导的:
    public static double loga1(int level, double a, double n) {
    if (a <= 0 || n <= 0)
    return Double.NaN;
    if (level > 500)
    return 1;
    if (a == 1) {
    return Double.NaN;
    } else if (a > 1) {
    if (n > a) {
    return 1 + loga1(level + 1, a, n/a);
    } else if (n == a) {
    return 1;
    } else { //n < a
    return 1 / loga1(level + 1, n, a);
    }
    } else { //a < 1
    return -loga1(level + 1, 1/a, n);
    }
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化