查看: 2570|回复: 5
收起左侧

facebook : 实现开方函数

|只看干货 |刷题
头像被屏蔽

分享帖子到朋友圈
wwwyhx | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽

上一篇:Google : 关于函数调用的loop的一个问题
下一篇:Amazon : 最大递增子序列
kidd_yq@163.com 2011-5-5 17:12:00 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (22)
 
 
0% (0)    👎
本帖最后由 kidd_yq@163.com 于 2011-5-6 07:33 编辑

  1. #include "stdafx.h"
  2. #include <iostream>
  3. using namespace std;

  4. double mysqrt(double a)
  5. {
  6.         double x=a;
  7.         
  8.         while(x*x-a>1e-6 || a-x*x>1e-6)
  9.         {
  10.                 x=(x+a/x)/2;
  11.         }
  12.         
  13.         return x;
  14. }

  15. int main(int argc, char* argv[])
  16. {
  17.         double a,x;
  18.         cin>>a;
  19.         x=mysqrt(a);
  20.         cout<<x<<endl;
  21.         return 0;
  22. }
复制代码
回复 1# wwwyhx
回复

使用道具 举报

darksteel 2011-5-6 06:56:37 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (32)
 
 
0% (0)    👎
回复 2# kidd_yq@163.com
牛顿迭代法应该是没错的。感觉也可以直接二分
回复

使用道具 举报

kidd_yq@163.com 2011-5-6 07:35:29 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (22)
 
 
0% (0)    👎
回复 3# darksteel

恩,如果没其他要求,这两个都是简单且好的方法
回复

使用道具 举报

头像被屏蔽
 楼主| wwwyhx 2011-5-6 16:06:21 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

Imbalism 2011-10-9 10:48:58 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (42)
 
 
0% (0)    👎
原來以前就發過了!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

隐私提醒:
■拉群请前往同学同事飞友|拉群结伴版块,其他版块拉群,帖子会被自动删除
■论坛不能删帖,为防止被骚扰甚至人肉,不要公开留微信等联系方式,请以论坛私信方式发送。
■特定版块可以超级匿名:https://tools.1point3acres.com/thread
■其他版块匿名方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

>
快速回复 返回顶部 返回列表