求平方根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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm导入Python_python简单项目

    pycharm导入Python_python简单项目1安装Anaconda1、安装anocandahttps://www.jianshu.com/p/d3a5ec1d9a082、配置anocanda环境变量3、测试安装成功看到如下就安装成功了2python3.81、安装软件等待安装完成!2、添加python的环境变量3、测试成功3、pycharm导入python项目1、打开对应的项目2、将python3.8导入该项目中遇到如下问题:(如

    2022年8月28日
    1
  • xcode7中使用cocos2d-x3.8的webview控件

    xcode7中使用cocos2d-x3.8的webview控件

    2021年9月9日
    63
  • 在线navicat16 激活码 键[在线序列号]

    在线navicat16 激活码 键[在线序列号],https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
    2.0K
  • 线程天敌TerminateThread与SuspendThread

    线程天敌TerminateThread与SuspendThread目的 不是演示 TerminateThr 和 SuspendThrea 的原理而是希望能在自己的程序中摒弃它们 也许结束一个线程最可靠的方法就是确定这个线程不休眠无限期的等待下去 一个支持可以被要求停止的线程 它必须定期的检查看它是否被要求停止或者如果它在休眠的话看它是否能够被唤醒

    2025年10月29日
    3
  • 关于@NotNull 和 @Nullable

    关于@NotNull 和 @Nullable阅读spring源码发现里面用到两个注解@NotNull和@Nullable,现在做一个简单的分析参考文档:避免Java应用中NullPointerException的技巧和最佳实践安卓中的@Nullable和NotNull注释在写程序的时候你可以定义是否可为空指针。通过使用像@NotNull和@Nullable之类的annotation来声明一个方法是否是空指针安全的。…

    2022年6月12日
    36
  • Ubuntu安装MariaDB教程「建议收藏」

    Ubuntu安装MariaDB教程「建议收藏」一、环境服务器:Ubuntu16.04.1LTS(GUN/Linux4.4.0-91-genericx86_64)数据库版本:MariaDB10.3二、安装流程2.1进入MariaDB网站在https://downloads.mariadb.org/mariadb/repositories/#mirror=neusoft该地址中,可以查找对应系统的安装命令配置…

    2022年6月11日
    299

发表回复

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

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