社区
C语言
帖子详情
求整数开方c++的源代码(立即给分)
darkwowowo
2002-03-10 08:03:17
我要做一个大整数的开方运算,数的上限是10的50次方,我已经把乘法和加法做好了,现在要求用这两种方法组合,如果用到除法减法运算也可以,做出开平方运算,还有,把io也做了,输入是从文件sqrt.in读入,输出到sqrt.out。详细的算法注释。
...全文
409
18
打赏
收藏
求整数开方c++的源代码(立即给分)
我要做一个大整数的开方运算,数的上限是10的50次方,我已经把乘法和加法做好了,现在要求用这两种方法组合,如果用到除法减法运算也可以,做出开平方运算,还有,把io也做了,输入是从文件sqrt.in读入,输出到sqrt.out。详细的算法注释。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
darkwowowo
2002-03-11
打赏
举报
回复
简单明了,不过我的大数运算出问题了,看来还是做不出来。。。。。。。。。。。。。。。。。
LeeMaRS
2002-03-11
打赏
举报
回复
不是刚在算法版讨论完么?……
用牛顿迭代法解方程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;
}
只要相应改成你的大数运算应该就可以了吧
hlym
2002-03-10
打赏
举报
回复
都出了高招,我还能说什么?
darkwowowo
2002-03-10
打赏
举报
回复
各位帮忙看看,这是it_work的算法:
//初中的算法
class INT;//你的大整数类
int exp(const INT&x);//返回x的位数
sqrt(INT x,INT &y)
{
y=1;
y <<= (exp(x)/2); //移位的操作做了吗
INT z=y>>1;
x-= y*y;
for(; z!=0; z>>=1)
{
INT r = (2*y+z)*z;
if( x>r )
{
x-=r;
y+=z;
}
}
}
&y是什么?y究竟是什么?
darkwowowo
2002-03-10
打赏
举报
回复
不是考试的,不过明天就要交了。
darkwowowo
2002-03-10
打赏
举报
回复
老大,救命啦。我一直用java,很少接触c的,这些算法更少接触了。
IT_worker
2002-03-10
打赏
举报
回复
你在干嘛,如果是考试这算做弊了.
darkwowowo
2002-03-10
打赏
举报
回复
要求的输入是连续的,比如:12335436548672383659749679348763894563946老大,快点帮帮忙吧,我还在做另外一到题呢。
IT_worker
2002-03-10
打赏
举报
回复
// to IT_worker(IT工人)移位用除法可以吗?
如果你不嫌慢的画当然可以。
io的话你不嫌慢的话可以这样设计文件格式。
-9,876,543.或则+9,876,543.
这个每3个数用,隔开。最后用.表示结尾。输入的时候可以这样写了
fstream& operator>>(fstream&fin,INT&x)
{
char ch;
fin>>ch;
if(ch=='-') x=-1;
else x=1;
long l;
while(ch!='.')
{
fin>>l;
x*=1000;
x+=l;
fin>>ch;
}
}
fstream& operator<<(fstream&fout,INT x)
{
if(x>0) fout<<'+';
else fout<<'-';
//自己写吧
}
darkwowowo
2002-03-10
打赏
举报
回复
to zosatapo(隆杰@宗山太保) 我现在手头连一本参考书都没有,只是有点印象而已。
darkwowowo
2002-03-10
打赏
举报
回复
to IT_worker(IT工人)移位用除法可以吗?
darkwowowo
2002-03-10
打赏
举报
回复
to IT_worker(IT工人)好象就差个移位,还有,io要怎么解决阿?
to chaisave(save) 帮我把算法写出来啊,循环递归什么的,我现在想不出来啊
to其他人,一起帮帮我啊
chaisave
2002-03-10
打赏
举报
回复
初中的方法?
我也忘记了。
我想可以用Taylor中值定理展开(X0 = 1):
f(x) = x^(1/2)
= f(x0) + f'(x0)(x-x0) + f''(x0)(x-x0)^2/2!+...
∞
= 1 + (x-1)*∑(2i-1)!!/(2^i*i!)
i
这样就可以求解了吧。
IT_worker
2002-03-10
打赏
举报
回复
//初中的算法
class INT;//你的大整数类
int exp(const INT&x);//返回x的位数
sqrt(INT x,INT &y)
{
y=1;
y <<= (exp(x)/2); //移位的操作做了吗
INT z=y>>1;
x-= y*y;
for(; z!=0; z>>=1)
{
INT r = (2*y+z)*z;
if( x>r )
{
x-=r;
y+=z;
}
}
}
toulouse
2002-03-10
打赏
举报
回复
开方计算可以解方程的方法求得:
设a的平方根=x,则
a = x * x,
x*x -a=0, (1)
求此方程的解即可,我现在没有编译器,明天可以到公司抽时间给你看看
darkwowowo
2002-03-10
打赏
举报
回复
随便是初中的还是泰勒迭代法,有就行,快点啦,急急急急!!!!
zosatapo
2002-03-10
打赏
举报
回复
初中就学习过的整数开方算法,不会连这个都要要问吧。
太过分,学习的知识对于程序员来说,太重要了。
chaisave
2002-03-10
打赏
举报
回复
这应该是数值计算的内容。
找本教材吧,我记不得那些个算法了。
V
C++
Calculator 计算器
源代码
.rar_
C++
_计算器_计算器+
c++
【标题】"V
C++
Calculator 计算器
源代码
" 是一个基于
C++
编程语言实现的计算器项目,它展示了如何在Windows环境下使用Visual
C++
(V
C++
)开发一个具有完整功能的计算器应用程序。这个
源代码
提供了从基本的算术运算到...
用开根号求素数_manner4ep_
C++
_素数开根号_求素数;_求素数
开方
_
在提供的压缩包中,有两个文件:`用开根号求素数.cpp`是
源代码
文件,包含了上述算法的实现;`用开根号求素数.exe`是编译后的可执行文件,可以直接在支持
C++
的环境中运行,无需再次编译。 通过这种方式,初学者不仅...
快速求三角函数示例
源代码
标题"快速求三角函数示例
源代码
"揭示了这是一个关于优化三角函数计算速度的代码实例,主要针对计算机编程中的3D图形处理。在3D场景中,大量的几何变换需要三角函数的支持,因此快速计算方法可以显著提升应用程序的...
c++
程序
源代码
.pdf
以上代码实例都展示了
C++
的基础语法和控制结构,包括循环(`for`和`while`)、条件判断(`if`和`break`)、输入输出(`cin`和`cout`)、变量交换(通过中间变量`q`)、数学运算(如
开方
`sqrt`)以及循环优化策略。...
c++
编写的计算器
至于“TXK_Calculator”这个文件,它可能是项目
源代码
的打包,可能包含了头文件(.h或.hpp)、源文件(.cpp)以及可能的可执行文件。
源代码
通常包含上述讨论的各种元素,如类定义、函数实现和主程序逻辑。 总的来说...
C语言
70,037
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章