华为机试HJ107:求解立方根

简介: 华为机试HJ107:求解立方根

题目描述:

计算一个数字的立方根,不使用库函数。

保留一位小数。

输入描述:

待求解参数,为double类型(一个实数)

输出描述:

输入参数的立方根。保留一位小数。

示例:

输入:

216


输出:

6.0


解题思路:

这是道数学题,求解数值的立方根,就是求解fx=x^3-C的零根,C就是数值,x就是我们要解的立方根。有两种方法,一种方法就是暴力遍历,将x从某个初始值开始,每0.05进行一次立方计算,判断与C的差值是否大于0,若某个数值所得差值从负数变为正数,该数值近似为解;另一种方法就是牛顿迭代法,计算xn+1=xn+(C/xn^2-xn)/3,若某个xn+1的立方同C差值的绝对值小于某个精度,则认为找到该值,至于为什么用这个式子,可以百度牛顿迭代法,百度百科讲的很清楚。

测试代码:

#include <iostream>
#include <math.h>
#include <iomanip>
using namespace std;
double func(double t,double num)
{
    if(abs(t*t*t-num)<0.00001)
        return t;
    else
        return func((num/t/t+2*t)/3,num);
}
int main()
{
    double num;
    while(cin>>num)
    {
        cout<<fixed<<setprecision(1)<<func(1.,num)<<endl;
    }
    return 0;
}
相关文章
|
SQL Java 分布式数据库
Flink CDC HBase字段类型与Flink SQL类型之间的转换
【1月更文挑战第4天】【1月更文挑战第19篇】Flink CDC HBase字段类型与Flink SQL类型之间的转换
250 1
|
5月前
|
人工智能 Cloud Native Java
2025 开源之夏开启报名|AI + 云原生,10个开源项目、24个课题任您挑选
“开源之夏”是由中国科学院软件研究所发起的暑期活动,旨在鼓励高校学生参与开源软件开发与维护。活动联合各大开源社区提供项目任务,面向全球年满18周岁的高校学生开放报名。每位学生最多可申请一个项目。阿里云云原生提报了包括Apache Dubbo、RocketMQ、Seata等在内的10个开源项目共24个课题,涵盖技术优化、功能实现及AI应用等领域。活动流程包括选题、申请、开发与结项考核,具体信息可访问官网了解。
1894 33
|
6月前
|
存储 算法 调度
基于和声搜索优化算法的机器工作调度matlab仿真,输出甘特图
本程序基于和声搜索优化算法(Harmony Search, HS),实现机器工作调度的MATLAB仿真,输出甘特图展示调度结果。算法通过模拟音乐家即兴演奏寻找最佳和声的过程,优化任务在不同机器上的执行顺序,以最小化完成时间和最大化资源利用率为目标。程序适用于MATLAB 2022A版本,运行后无水印。核心参数包括和声记忆大小(HMS)等,适应度函数用于建模优化目标。附带完整代码与运行结果展示。
169 24
|
12月前
|
XML JSON API
如何接入体育直播接口到移动应用中
要将体育直播接口接入移动应用,需选择可靠的数据服务商(如火星数据),阅读API文档,注册获取API密钥,开发API接口程序,集成到应用中,设计用户界面,测试优化,遵守法律法规,并持续维护更新。这样可以为用户提供实时的体育赛事直播和数据服务。
【原创】DOS下TSR程序的汇编演示代码2--黑屏保护程序
【原创】DOS下TSR程序的汇编演示代码2--黑屏保护程序
|
消息中间件 分布式计算 Kafka
MaxCompute 在实时数据分析中的角色
【8月更文第31天】随着大数据应用场景的不断扩展,对数据处理速度的要求越来越高,传统的批处理模式已经难以满足某些业务对实时性的需求。在这种背景下,实时数据处理成为了大数据领域的研究热点之一。阿里云的 MaxCompute 虽然主要用于离线数据处理,但通过与其他实时流处理系统(如 Apache Flink 或 Kafka Streams)的集成,也可以参与到实时数据分析中。本文将探讨 MaxCompute 在实时数据分析中的角色,并介绍如何将 MaxCompute 与 Flink 结合使用。
329 0
|
存储 SQL 分布式计算
impala入门(一篇就够了)
impala入门(一篇就够了)
2441 0
impala入门(一篇就够了)
|
测试技术 网络架构
变形金刚外传0x09-采用双上联冗余的动态路由架构
在之前0x08的分享中,我向各位演示了采用BGP动态路由协议实现物理-逻辑网络互通的基本配置。让我们再来回顾一下:
变形金刚外传0x09-采用双上联冗余的动态路由架构
|
编译器 C++
[C++从入门到精通] 10.回顾类内初始化、默认构造函数、=default
[C++从入门到精通] 10.回顾类内初始化、默认构造函数、=default
180 0