高分求救开方算法!!!

xunyuetian 2005-06-23 08:18:28
求2的开方精确到1000位以上
小弟大一~没正式学过VC,请最好用C#或者C代码,
能分布式运算更好~
最好不要与这个算法相矛盾:
http://www.microsoft.com/china/MSDN/library/archives/library/dnhcvs03/html/vs03d1.asp
好实现并行计算~请指点一二

前些日子问了这个问题:有位兄弟给了我代码如下:

#include <iostream>
#include <cryptlib/integer.h>
#include <sstream>
using namespace std;
using namespace CryptoPP;

#define PREC 1000

int main( int argc , char* argv[] )
{
if( argc != 2 )
{
cout << "usage foobar <number>" << endl;
exit( 1 );
}

istringstream iss( argv[1] );
Integer nn , mm = 1 , mm2; iss >> nn;

for( int i = 0; i < PREC; ++i ) mm *= 10; mm2 = mm * mm; nn *= mm2;
cout << nn.SquareRoot() << endl;
}

我给分了,但是后来我发现cryptlib/integer.h于是去找cryptlib5.21版的
并且找到了~
但是编译(我用的VS.net2003)之后却发现无法引用cryptlib.dll...我狂晕
请好心的兄弟再帮忙解决一下~最好是C源码算法~不要引用组件的~
...全文
425 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
xunyuetian 2005-07-01
  • 打赏
  • 举报
回复
郁闷中~
overwindows 2005-06-30
  • 打赏
  • 举报
回复
去看<数值分析>,上面有现成的方法,记得好象用迭代,1000位好像依赖你机器或者语言的精度吧
firstdreamer 2005-06-30
  • 打赏
  • 举报
回复
mark
brianlu 2005-06-27
  • 打赏
  • 举报
回复
up
jettylee 2005-06-25
  • 打赏
  • 举报
回复
本质是 二分法的逼近~~
找找《计算方法》的书肯定有算法
要精确的话无非是写个高精度的小数类库
sjjf 2005-06-24
  • 打赏
  • 举报
回复
mark
xunyuetian 2005-06-24
  • 打赏
  • 举报
回复
晕~谁可以给我可行的算法~
binjuny 2005-06-24
  • 打赏
  • 举报
回复
1000位,我建议你自已写个库。。
qrlvls 2005-06-23
  • 打赏
  • 举报
回复
d:\Documents and Settings\Administrator\My Documents\Visual Studio Projects\kaifang2\kaifang2\kaifang2.cpp(24): fatal error C1010: 在查找预编译头指令时遇到意外的文件结尾
--------------------------
在 kaifang2.cpp 中
#include "stdafx.h"
qrlvls 2005-06-23
  • 打赏
  • 举报
回复
1000位,不可能的
那么你就不要用32/64/80位 IEEE 浮点数了
通常 sqrt 是用 80x87 协处理器硬件完成的
软件仿真算法都是基于 32/64/80 IEEE 浮点表示方法的
如果用字符表示方式,可以用二分乘法计算
xunyuetian 2005-06-23
  • 打赏
  • 举报
回复
d:\Documents and Settings\Administrator\My Documents\Visual Studio Projects\kaifang2\kaifang2\kaifang2.cpp(24): fatal error C1010: 在查找预编译头指令时遇到意外的文件结尾

xunyuetian 2005-06-23
  • 打赏
  • 举报
回复
生成了dll_release中的cryptlib.dll copy到windows/system32/
编译之后cryptlib直接copy到include就可以了么?
using namespace std;
这个又是什么呢
没学过VC++汗~
我是超级菜~
xunyuetian 2005-06-23
  • 打赏
  • 举报
回复
^O^原来如此呀~我花了好长的时间来找呀,还特意装了VC.net 还特意去了MSDN。。。
我这就去试试~
但是我用VC++.Net加载组件的时候出现加载错误是怎么回事的
顺便帮我看看~
我假如把它生成组件之后是否可以用在
http://www.microsoft.com/china/MSDN/library/archives/library/dnhcvs03/html/vs03d1.asp
这个分布式运算的算法之中。。。
  • 打赏
  • 举报
回复
你不要用 cryptlib_dll 编译 cryptlib ,用 cryptlib static library , 编译 cryptlib_dll 就可以生成 cryptlib.dll ,你都用了它的导入库了,不在那个目录下就有 cryptlib.dll 么,拷贝到 system32 就可以鸟.
xunyuetian 2005-06-23
  • 打赏
  • 举报
回复
谁有C的代码~
xunyuetian 2005-06-23
  • 打赏
  • 举报
回复
那具体应该怎么做呢?
我参照了PI的计算方法
whatsouta 2005-06-23
  • 打赏
  • 举报
回复
俺记得有一个 牛顿迭代法 好像可以。

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧