社区
数据结构与算法
帖子详情
简单问题,意在给分!
Lotsof
2002-03-31 07:22:44
如何用C语言编一 个sqrt()的函数?
自定义函数!
...全文
33
18
打赏
收藏
简单问题,意在给分!
如何用C语言编一 个sqrt()的函数? 自定义函数!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Jupin
2002-05-08
打赏
举报
回复
如果你仅想得到平方根的整数,有这么的一个算法可供参考:
void main()
{
int a, result=0;
int i=1;
scanf("a=%d", &a);
while(a>=0)
{
a-=i;
i+=2;
result++;
}
printf("sqrt(a)=%d", result);
return;
}
colacoca
2002-05-08
打赏
举报
回复
to:LeeMaRS(小菜虎)
哈哈,我是delphi来的
快速弦截法和你的牛顿法差不多啊,
牛顿法突出优点是收敛的速度快。但它有个明显的缺点:需要计算导数f'(x),如果函数f(x)比较复杂,使用牛顿法是不方便的。
为了避开导数计算,就用差商:
(f(Xk)-f(X0))/(Xk-X0)
......
用以替换牛顿公式中得导数f'(Xk)
最后得
Xk+1=Xk-f(Xk)*(Xk-X0)/(f(Xk)-f(X0))
求得的Xk+1其实就是弦线与X轴的交点,所以上面的算法称弦截法
然后又是一阵推导.....
......
最后,为了加快收敛速度,改用差商
(f(Xk)-f(Xk-1))/(Xk-Xk-1)
得出快速弦截法的公式:
Xk+1=Xk-f(Xk)*(Xk-Xk-1)/(f(Xk)-f(Xk-1))
注:上面的Xk,Xk+1,Xk-1中的k,k-1,k+1都是X的下标,不是变量Xk减去1的意思
所以才有我的
x1=x0;
x0=x;
x=x0-(x0-x1)*(x0^2-A)/((x0^2-A)-(x1^2-A));
这3个式子
(呵呵,上面的话,抄了书本了,哈哈哈<<工程数学--算法语言*计算方法>>高等教育出版社1978年8月第一版,1999.7第27次印刷,RMB8.20元)
sdav
2002-05-07
打赏
举报
回复
#include "iostream.h"
void main()
{
float A,x,x0;
A=25;
x=A;
do
{
x0=x;
x=(x0+A/x0)/2;
}while (x<x0);
cout<<x;
}
LeeMaRS
2002-04-05
打赏
举报
回复
To colacoca :
能介绍一下你的解法吗?
你的程序似乎是Pascal和C++的结合体啊...
jwyhit
2002-04-04
打赏
举报
回复
colacoca :
谢谢你的想法!
nicholas_87
2002-04-04
打赏
举报
回复
gz
挺拔的劲松
2002-04-04
打赏
举报
回复
gz
但我想既然有现成的函数何必自找麻烦呢?
yyt7529
2002-04-04
打赏
举报
回复
这个问题有这么难吗,计算器是怎么求的啊
colacoca
2002-04-04
打赏
举报
回复
#include "iostream.h"
void main()
{
float A,x,x0,x1;
A=99;
x=A;
x0=A/2
do
{
x1=x0;
x0=x;
x=x0-(x0-x1)*(x0^2-A)/((x0^2-A)-(x1^2-A));
}while (x-x0<0.0000000001);
cout<<x;
}
快速弦截法
colacoca
2002-04-04
打赏
举报
回复
你可以把randomize看成是一个取得系统时间精确到毫秒的函数
Lotsof
2002-04-04
打赏
举报
回复
tc20的方法
jwyhit
2002-04-03
打赏
举报
回复
gz
更想知道randomize怎么弄出来的
kbsoft
2002-04-03
打赏
举报
回复
gz
LeeMaRS
2002-03-31
打赏
举报
回复
用牛顿迭代法解方程X^2-A=0
A是要开方的数
#include "iostream.h"
void main()
{
float A,x,x0;
A=25;
x=A;
do
{
x0=x;
x=(x0+A/x0)/2;
}while (x<x0);
cout<<x;
}
wkoji
2002-03-31
打赏
举报
回复
不好意思,是我比较苯,这点都没注意。;)
这个函数我是想到了怎么做,但是求解精度和时间复杂度都感觉不够理想,
也想看看一些经典的算法
shenhong0
2002-03-31
打赏
举报
回复
楼上的大哥,人家是一个人!!
wkoji
2002-03-31
打赏
举报
回复
楼上的大哥,你说的这个东西谁不知道啊,人家是来求源程序的!!!
Lotsof
2002-03-31
打赏
举报
回复
也就是求平方根的函数!
【第十八题】填坑I(北理工/北京理工大学/程序设计方法与实践/小学期 )
Description 又是北湖深坑,惊不惊喜,意不意外?! R o a r k 觉得用水填湖太没意思了,用石头填坑多有意思。 假设北湖的地面还是一维的,每一块宽度都为1,高度是非负整数,用一个数组来表示。 现提供不限量的 1 乘號 2 规格的石头,问是否可以将北湖填平。(所有地面到达同一高度即为填平) 注:石头只能水平或垂直填放。 Input 样例有多组输入至文件末尾; 每组用例占两行; 第一行输入1个整数 n 空格 左小括號 1 小於等於 n 小於等於 2 乘號 10 的 5...
填坑Ⅰ |
简单
的数据结构
19. 填坑Ⅰ 成绩 10 开启时间 2020年09月17日 星期四 12:00 折扣 0.8 折扣时间 2020年09月24日 星期四 12:00 允许迟交 否 关闭时间 2020年10月10日 星期六 23:00 Description 又是北湖深坑,惊不惊喜,意不意外?! Rack觉得用水填湖太没意思了,用石头填坑多有意思。假设北湖的地面还是一维的,每一块宽度都为1,高度是非负整数,用一个数组来表示。现提供不限量的1x2规格的石.
通俗易懂、
简单
粗暴地解决各类猴子
分
桃
问题
起因 海滩上有一堆桃子,五只猴子来
分
。第一只猴子把这堆桃子
分
为五份,多了一个,这只猴子把多的一个仍入海中,拿走了一份。第二只猴子把剩下的桃子平均
分
成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、四、五只猴子都是这样做的,问海滩上原来最少有多少个桃子? 起初我看到这道题是崩溃的,咋又碰到数学题啦!我数学向来差的一批,所以这道题我是真真的没想出啥解决的方法,于是乎我便到网上查找解题...
Python使用Pyqt5实现简易浏览器!非常实用!
博客说明 文章所涉及的资料来自互联网整理和个人总结,
意在
于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 准备环境 首先我们需要的是我们的开发环境,我使用的是python 3.8.2和pyqt 5.14.2,因为有强迫症,所以喜欢使用最新版的 安装QtWebEngineWidgets 这是新版使用的web浏览器引擎,更加的贴近谷歌浏览器,好像是需要单独安装,我就是这样的 ...
为什么叫钩子函数???
很
简单
! 钩子 钩子 钩子 就是用来挂的嘛!!! 在线程执行的过程中,我们想在某个步骤添加, 上一个步骤不用, 下一个步骤要用的的函数, 我们就把要用到的函数挂在 需要用的步骤之前, 因为我们中国人要用中文来叫这个函数, 又是挂在如A点,B点, 什么东西可以挂呢? 钩子! 所以 钩子函数 这个叫法就 见名知意了!!! ...
数据结构与算法
33,028
社区成员
35,337
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章