当前位置:

首页 > 软件教程 > 使用递归法在Java中计算曲线y = x的平方与直线y = x的交点

使用递归法在Java中计算曲线y = x的平方与直线y = x的交点

本文目录

    在java中利用递归法计算曲线yx的平方与直线x1x轴所包围的曲边publicclassUtil{publicstaticvoidmain(String[]args){System.out.println(getMj(2000));}publicstaticdoublecalculateArea(doublen){if(n==1){return1.0;}else{doubler=(n-1)*(n-1)*(n+1)*(2*n+1)/(n*n*n*(2*n-1));returnr*getMj(n-1);}}}

    在java中利用递归法计算曲线y x的平方与直线x 1 x轴所包围的曲边

    public class Util {

    public static void main(String[] args) {

    System.out.println(getMj(2000));

    }

    public static double calculateArea(double n){

    if(n==1){

    return 1.0;

    }else{

    double r = (n-1) * (n-1) * (n+1) * (2*n+1) / (n * n * n * (2*n-1));

    return r*getMj(n-1);

    }

    }

    }

    递归算法前提是要了解它的通项公式,2000意味着将曲边三角形分割成了2000个矩形,具体原理可以参考下图所示:

    在java中利用递归法计算曲线y x的平方与直线x 1

    采用图1算法:

    an=(n+1)(2n+1) /6n^2

    简单写法如下:

    public class Util {

    public static void main(String[] args) {

    System.out.println(getMj(100000));

    }

    public static double calculateArea(double n){

    return (n+1)*(2*n+1)/(6*n*n);

    }

    }

    java递归问题

    (1) 递归就是在过程或函数里调用自身;

    (2) 在使用递归策略时,必须确保有一个明确的递归结束条件,也被称为递归出口。

    递归算法一般用于解决三类问题:

    (1)数据的定义是按递归定义的。(Fibonacci函数)

    (2)问题解法按递归算法实现。(回溯)

    (3)数据的结构形式是按递归定义的。

    下面这个例子以递归的方法计算n的阶乘。

    public class Test {

    public static int factorial(int n) {

    if(n == 0){

    return 1;

    }else{

    return n * factorial(n-1);

    }

    }

    public static void main(String[] args) {

    System.out.println(factorial(3));

    }

    }

    java数据结构折半查找的递归算法望高手指点!

    package souce;

    public class Search {

    public static boolean binarySearch(int[] a, int x, int left, int right) { // 二分查找的主方法 // ... }

    if (x == a[left] || x == a[right]) { return true; // 找到,返回 true }

    如果(right-left)的结果是负数,那么表示右边的值比左边的值小。<2)return false; //可找元素小于3,由上一步说明没有,返回假

    int mid = (left+right)/2; //否则:二分

    if(x == a[mid]) return true; // 找到中间元素,返回true

    else{ //否则

    如果x大于中间元素,则返回二分查找函数(binarySearch)在右半部分数组(a)中继续查找x,即binarySearch(a,x,mid+1,right)。这样可以缩小查找范围,提高查找效率。

    else return binarySearch(a, x, left, mid-1); // 如果目标值小于中间元素,在左半部分继续查找。

    }

    }

    public static final int[] sort(int[] a) { // 这是一个用于对整型数组进行排序的方法 // 你可以使用任何排序算法,比如冒泡排序、插入排序、选择排序、快速排序等等 // 在这里,我们使用冒泡排序来对数组进行排序 for (int i = 0; i < a.length - 1; i++) { for (int j = 0; j < a.length - i - 1; j++) { if (a[j] > a[j + 1]) { // 交换元素位置 int temp = a[j];

    for (int i = 0; i < a.length; i++) { // 在这里添加你的代码 }

    for (int j = 0; j < a.length; j++) {

    if(a[i]

    swap(a,i,j);

    }

    }

    }

    return a;

    }

    private static void swap(int[] a, int i, int j) { //定义一个私有静态函数swap,用于交换数组a中下标为i和j的元素的位置

    int temp = a[i];

    a[i] = a[j];

    a[j] = temp;

    }

    public static void print(int[] a) { //打印函数 for (int i = 0; i < a.length; i++) { // 在这里添加你的代码 } System.out.print(a[i] + " "); } }

    System.out.println();

    for (int i = 0; i < a.length; i++) { // 在这里添加你的代码 }

    System.out.print(a[i]);

    if(i!=a.length-1) { System.out.print(","); }

    }

    System.out.println();

    }

    public static void main(String[] args) { //测试方法

    int[] a = {90, 12, 21, 32, 51, 78, 87, 98};是一个包含8个整数的数组。

    print(sort(a));

    System.out.println(binarySearch(sort(a), 40, 0, a.length-1));是一个用来在已排序数组a中二分查找值为40的元素的代码。

    }

    }

    本文内容来源于网友投稿,如有侵权请联系删除。
    作者最新文章
    软件教程
    相关文章 更多
    codex官网下载入口电脑版客户端下载安装教程
    codex官网下载入口电脑版客户端下载安装教程

    许多用户搜索“Codex官网下载入口”时容易陷入误区。本文解释Codex并非单一软件,而是多种技术的统称,分析常见混淆场景,提供正确的资源获取方式和安全下载建议,防止误装恶意程序。

    修改tomcat的默认端口号配置文件及操作步骤
    修改tomcat的默认端口号配置文件及操作步骤

    详细讲解如何在Tomcat中通过编辑conf/server.xml文件来修改默认的HTTP连接器端口,包含文件路径查找、关键标签定位及重启服务的完整步骤。

    codex安装包下载官网及官方版本安装教程
    codex安装包下载官网及官方版本安装教程

    了解如何从Autodesk官网下载正版AutoCAD安装包,并通过界面导览熟悉绘图区、命令行、功能区等核心区域,为高效绘图打下基础。

    凹三网同人小说阅读网-凹三网网页版登录入口
    凹三网同人小说阅读网-凹三网网页版登录入口

    想知道如何顺利访问AO3凹三网?本文提供最新的网页版登录入口指引,详解网络环境准备、界面中文设置步骤以及账号注册登录流程,助你轻松阅读全球同人作品。

    Postman设置公共前缀怎么操作的详细教程
    Postman设置公共前缀怎么操作的详细教程

    掌握在Postman中设置API公共前缀的正确方法,利用环境变量和集合变量实现Base URL的动态切换,避免硬编码,提升接口测试效率与维护性。

    deepseek网页版入口官网下载安装操作教程
    deepseek网页版入口官网下载安装操作教程

    本文纠正DeepSeek需要下载安装的常见误解,提供官方网页版直接访问方法,并介绍适合开发者的API集成方案,帮助用户高效使用DeepSeek大模型。

    notebooklm官网打不开怎么办访问故障排查教程
    notebooklm官网打不开怎么办访问故障排查教程

    本文详细解析NotebookLM官网打不开的常见原因,提供包括网络检测、DNS切换、浏览器缓存清理及账号权限检查在内的具体操作步骤,帮助用户解决访问障碍。

    claude怎么上传文件网页版操作步骤详解
    claude怎么上传文件网页版操作步骤详解

    详细介绍在Claude网页版中上传文件的具体步骤,包括入口位置、文件格式要求、大小限制及常见问题排查,帮助用户高效利用AI处理文档。

    jenkins配置git仓库步骤与凭证设置教程
    jenkins配置git仓库步骤与凭证设置教程

    遇到Jenkins拉取代码报错?本教程手把手教你配置Git仓库地址,正确添加SSH或HTTP凭证,并演示在自由风格项目和Pipeline中如何调用,彻底解决权限验证难题。

    CODEX安卓官方安装包下载及安卓版安装教程
    CODEX安卓官方安装包下载及安卓版安装教程

    详解CODEX安卓官方安装包的获取途径与安全安装步骤,涵盖权限设置、未知来源应用允许及常见安装失败问题的排查方法,帮助用户规避非官方渠道风险。

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    macOS软件
    macOS软件

    正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

    Mac软件 更多
    Blender
    Blender
    Windows、macOS 和 Linux

    Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。

    灵活计算器
    灵活计算器
    macOS/iOS/Android

    灵活计算器是一款笔记式算数应用,支持实时计算、动态关联和云端同步功能。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

    赤友清理大师
    赤友清理大师
    macOS

    赤友清理大师是一款为 Mac 设计的智能清理优化工具,可精准扫描垃圾、大文件、重复文件等,释放磁盘空间。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

    WINDOWS 更多
    Blender
    Blender
    Windows、macOS 和 Linux

    Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。

    Windows 10
    Windows 10
    Windows

    Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。

    极度公式
    极度公式
    Windows/macOS/Linux

    极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。