求平方根,正根.曾经都不会.昨天看数学,看到了,写了出来.自己又小优化了一下,非常不错.
// 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 ; } }
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/119198.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...