问一个C++迭代法求一个数平方根的问题
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/09/14 10:29:16
问一个C++迭代法求一个数平方根的问题
我编的这个程序对大于1的数有用,对小数没有用.请问问题出在哪里.怎么破.
#include
using namespace std;
double mysqrt(double a)
{
double x=(a>1?1:0),y=a,z;
while(1)
{z=(x+y)/2; cout
我编的这个程序对大于1的数有用,对小数没有用.请问问题出在哪里.怎么破.
#include
using namespace std;
double mysqrt(double a)
{
double x=(a>1?1:0),y=a,z;
while(1)
{z=(x+y)/2; cout
如果一个数大于1,那么它的平方根肯定在1和它本身之间,你这么不停地迭代是可以的;
但是如果一个数小于1,那么它的平方根比它本身大,这个数字在它本身和1之间;而按你这句话:
double x=(a>1?1:0),y=a,z;
你把这个数字限制在了0和它本身之间,那再怎么迭代肯定也迭代不到结果了.
为了不改后面的程序,你只要把第一句改成这样就OK,把结果限制在0和1之间迭代.
double x=(a>1?1:0),y=(a > 1 a :1),z;
但是如果一个数小于1,那么它的平方根比它本身大,这个数字在它本身和1之间;而按你这句话:
double x=(a>1?1:0),y=a,z;
你把这个数字限制在了0和它本身之间,那再怎么迭代肯定也迭代不到结果了.
为了不改后面的程序,你只要把第一句改成这样就OK,把结果限制在0和1之间迭代.
double x=(a>1?1:0),y=(a > 1 a :1),z;
c语言中用迭代法求X的平方根的问题
C语言问题,迭代法求一个正数a的算术平方根的迭代公式为:在时计算的xn+1值就为数a的算术平方根.需要你计算的数a从标准
java语言,用牛顿迭代法求平方根近似值的问题.
昨天写了个程序,用牛顿迭代法求平方根的问题,我用一个函数测试精度:|x-y|/min(x,y)
C语言用迭代法求平方根
用牛顿迭代法求115的平方根
高分求newton迭代法求解非线性方程的一个根的c/c++程序
[紧急]问:有一个数,它的正平方根比它的倒数的正平方根的3倍多2,求这个数.(只需答案)
牛顿迭代法求一个方程的解 MATLAB
数x的一个平方根为3,求数x的另一个平方根
已知a,b是一个数的两个平方根,c,d是另一个非零数的两个平方根.求a+b+d分之c的值
已知a,b是一个数的两个平方根,c,d是另一个非零数的两个平方根,求a+b+c/d的值.