求平方根C++

求平方根C++

   求平方根,正根.曾经都不会.昨天看数学,看到了,写了出来.自己又小优化了一下,非常不错.

// squareRoot.cpp -- 2011-08-29-01.04
#include "stdafx.h"
#include <iostream>

double squareRoot (double radicand, double precision) ;

int _tmain(int argc, _TCHAR* argv[])
{
	std ::cout << squareRoot(9, 0.000001) << std ::endl ;

	return 0;
}

double squareRoot (double radicand, double precision)
{
	if (radicand > 0)
	{
		double squareRoot = radicand / 10 ;
		while (squareRoot * squareRoot > radicand)
			squareRoot /= 2 ;
		double fakePrecision = 0.1; 
		while (1)
		{
			while ((squareRoot + fakePrecision) * (squareRoot + fakePrecision) <= radicand)
			{
				squareRoot += fakePrecision ;
			}
			if (fakePrecision > precision)
			{
				fakePrecision /= 10 ;
			}
			else
			{
				return squareRoot ;
			}
		}
	}
	else
	{
		std ::cerr << "Radicand must > 0" << std ::endl ;
		return 0 ;
	}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119198.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Android 加载串口通信读取信息时 AndroidStudio loadLibrary失败「建议收藏」

    Android 加载串口通信读取信息时 AndroidStudio loadLibrary失败「建议收藏」static{ System.loadLibrary(“serial_port”); }今天想连接串口做一个新功能但是连接串口加载库的时候总是找不到serial_port库1:项目结构是这样的库文件不多说github很多Android.mk##Copyright2009CedricPriscal##LicensedundertheApacheLicense,Version2.0(the”License”);#you…

    2022年7月15日
    20
  • vue 正则表达式验证_vue表单自定义验证

    vue 正则表达式验证_vue表单自定义验证首先需要自己写正则表达式,正则学得不好就不乱指点了=>方法1如果你是单独建的js文件先引入正则表达式文件才进行下一步或者直接在组件内写正则2data({constregExpID=(rule,value,callback)=>{//regExpID自定义类名if(value===”){//value验证的值不要更改会自动匹配你所需要验证的值ca…

    2025年8月22日
    0
  • pycharm创建项目没有venv_pycharm不能新建怎么办

    pycharm创建项目没有venv_pycharm不能新建怎么办问题:使用pycharm打开从git上下载的项目后,会发现项目实际上中并不存在项目需要的环境,此时,就需要根据项目中的requirement.txt文件新建环境。实现步骤一、首先使用pycharm打开项目,发现项目中不存在venv环境。二、file–>setting–>project–>projectinterpreter–>新建环境…

    2022年8月26日
    7
  • linux命令行移动文件_centos移动文件到指定目录

    linux命令行移动文件_centos移动文件到指定目录在当前文件夹下打开命令行,输入cp文件名路径验证已经移动过去cd路径lltip:写文件名时可以先写开头几个字母,然后使用ctrl+tab补充完整文件名

    2022年10月6日
    4
  • c语言push_back_pushback是什么意思

    c语言push_back_pushback是什么意思push_back()函数的用法函数将一个新的元素加到vector的最后面,位置为当前最后一个元素的下一个元素push_back()在Vector最后添加一个元素(参数为要插入的值)//在vec尾部添加10vector<int>vec;vec.push_back(10);//在容器中添加10intnum=10;vector<int&gt…

    2025年7月8日
    4
  • JAVA框架和技术

    JAVA框架和技术JAVA框架和技术

    2022年4月22日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号