用四则运算实现求平方根的功能
时间:2010-09-02
来源:互联网
在c里面 用四则运算求一个正数的平方根,我有一个程序。但觉得不是太好。精度也不是太高。大家有没有更好的方法?
#include<stdio.h>
float j=1;
void sqt(double sq,int n)
{
j*=0.1;
sq+=j;
while(1){
if(sq*sq<n){
sq+=j;
}
else
break;
}
sq-=j;
if(n-sq*sq<0.000001){
printf("%lf\n",sq);
}
else
sqt(sq,n);
}
int main()
{
printf("Please input you N!\n");
int n;int i=0;
scanf("%d",&n);
printf("you put %d\n",n);
while(i<=n){
if(i*i==n){
printf("sqrt(n)=%d\n",i);
break;
}
if(i*i<n)
i++;
else
break;
}
sqt(i-1.0,n);
return 0;}
#include<stdio.h>
float j=1;
void sqt(double sq,int n)
{
j*=0.1;
sq+=j;
while(1){
if(sq*sq<n){
sq+=j;
}
else
break;
}
sq-=j;
if(n-sq*sq<0.000001){
printf("%lf\n",sq);
}
else
sqt(sq,n);
}
int main()
{
printf("Please input you N!\n");
int n;int i=0;
scanf("%d",&n);
printf("you put %d\n",n);
while(i<=n){
if(i*i==n){
printf("sqrt(n)=%d\n",i);
break;
}
if(i*i<n)
i++;
else
break;
}
sqt(i-1.0,n);
return 0;}
作者: xiaoqing87316 发布时间: 2010-09-02
你这是直接枚举了,建议试试看牛顿迭代~~
作者: daybreakcx 发布时间: 2010-09-02
你要做什么,
这个是有公式的,随便查查就能找到
如果想做这方面的深入研究,可以看看gmplib
这个是有公式的,随便查查就能找到
如果想做这方面的深入研究,可以看看gmplib
作者: phy0077 发布时间: 2010-09-02
好想法 谢谢啊!看来我是走弯路了。
作者: xiaoqing87316 发布时间: 2010-09-02
一本有名的算法书籍后面的练习。我自己试了下,觉得做的不是太好 就拿出来请教一下 回复3楼
作者: xiaoqing87316 发布时间: 2010-09-02
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28