• 算法-分数


    无穷分数

    无穷的分数,有时会趋向于固定的数字。
    请计算下图中所示的无穷分数,要求四舍五入,精确到小数点后5位,小数位不足的补0。
    请填写该浮点数,不能填写任何多余的内容。
    在这里插入图片描述

    分析:很简单而经典的一个递归算法,通过递归很容易实现

    1. public class Main {
    2. public static void main(String[] args) {
    3. //通过测试分式尾数越大 分式越长 浮点数越精确,打印语句得到浮点数为 0.58198
    4. int n = 1;//初始分子
    5. int b = 1;//尾值分母
    6. double a;
    7. while(b<=100){//尾值从11000循环增加
    8. b++;
    9. a = fun(n,b);//调用fun方法得到分式的值
    10. System.out.println(a);//每次打印的到的浮点数,观察可得尾数越大 分式越长 浮点数越精确
    11. }
    12. }
    13. public static double fun(double n,int b){//传递两个参数
    14. n++;//每次增加
    15. if(n==b){//如果增加到b
    16. return b;//分式下 递归循环结束返回b
    17. }
    18. return (n-1)/(n-1+fun(n,b));//根据分式结构,使用递归调用fun往下循环执行分式
    19. }
    20. }

    输出结果为:
    2.0
    0.25
    0.75
    0.5428571428571428
    0.5903614457831325
    0.5805471124620061
    0.582185760328157
    0.5819501117039937
    0.5819797048656283
    0.5819764034641025
    0.5819767347309043
    0.5819767045274662
    0.5819767070508135
    0.5819767068562787
    0.5819767068702013
    0.5819767068692714
    0.5819767068693297
    0.5819767068693262
    0.5819767068693265
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263
    0.5819767068693263

    通过观察可得最终结果为:
    0.58198

  • 相关阅读:
    Sentinel基础知识
    聊聊秒杀系统的设计(一)
    Vue--解决Scss报错:Syntax Error: TypeError: this.getOptions is not a function
    外星人:可惜,地球人的AI科技树长歪了!
    基于 HPSO 与多核 LSSVM 的网络入侵检测
    [ 行业洞察 ]“变”即常态,数字化服务商赴约转型盛宴
    Excel、Jira、Bugfree 应该选哪个做bug管理?深度对比
    Leetcode 95. 不同的二叉搜索树 II
    百度曹海涛:生成式AI正从“探索能力边界”向“推动应用落地”过渡
    map与set的封装
  • 原文地址:https://blog.csdn.net/mooczhimahu/article/details/126555025