>
其他
>
问一个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
人气:141 ℃ 时间:2020-04-15 16:43:52
解答
如果一个数大于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;
推荐
问一个c++迭代法开方的问题:
若一个数的平方根等于它本身,则这个数是( )A. 0 B. 1 C.±1 D.0或1
用迭代法求平方根
求C语大神,用迭代法求某数a的平方根,已知迭代公式为x1=1/2(x0+a/x0)
电流表测电流时如何提高准确度?
应用题:工程队修一条公路,第一天修了全长的2/5,第二天修了全长的3/10,还剩下全场的几分之几没有修?
当x等于多少时 x的2次方-x-6/|X-1|-2的值为0
Which season -------you ------(like),spring or winter?
猜你喜欢
糖盐为何遇到水会融化
怎么求火车过桥问题里的速度和车身的长度?(桥长和用时已经有了)
模仿行道树写作文,写花鸟鱼虫的,不能写树.请亲们帮帮忙
水泥、石子、黄沙各有6吨,用水泥、石子黄沙按5:3:2拌成混凝土,若石子刚好用完,水泥缺几吨?黄沙多几吨?
心理委员英文翻译怎么说?
球由曲线y=lnx、x=e、y=0围城的图形绕y轴旋转生成旋转体的体积
荏字开头的成语
一个著名的运动员在百米赛跑中起跑的速度是9m/s,中途是8m/s,最后冲刺的速度是12m/s,如果他的成绩是10s,则他的平均速度是_m/s.
© 2026 79432.Com All Rights Reserved.
电脑版
|
手机版