算法问题请教高手

vteth 2003-09-22 05:33:08
两个大数(超出了C的表达范围,只能用数组或链表表达的那种)如何相除。
...全文
70 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
vteth 2003-09-26
  • 打赏
  • 举报
回复
问题解决了。
用了减法原理。
alan118 2003-09-23
  • 打赏
  • 举报
回复
鸟兄是我的偶像,
狗狗也是我的偶像
:)
dreamfly8848 2003-09-22
  • 打赏
  • 举报
回复
mark
langzi8818 2003-09-22
  • 打赏
  • 举报
回复
好久没有看见鸟兄了!我最佩服鸟兄了,偶像啊!
chinajiji 2003-09-22
  • 打赏
  • 举报
回复
给你一点提示:
1.
( a * b ) / c
等价于
a * ( b / c )
//////////////
当a,b为整数时上述结论可能不正确;

.
a * b
等价于
i<a
Σ b
i=0
///////
应该是:

.
a * b
等价于
|a|
Σ b (a,b为整数,a不等于0) 还要考虑符号问题
i=1
yizhili 2003-09-22
  • 打赏
  • 举报
回复
整数的话可以试试人算的方法
acuter 2003-09-22
  • 打赏
  • 举报
回复
mark
swtju94_2 2003-09-22
  • 打赏
  • 举报
回复
mark
frank026 2003-09-22
  • 打赏
  • 举报
回复
同意采用楼上的思想,过程可以如下:
假设有两个大数分别用数组a[n1],b[n2]表示,则当进行a[n1]/a[n2]时,结果放在数组
c[n3]中,算法:

初始化c[n3],使元素都为0;
int i;
for(i=0;i<n1-n2;i++){
do{
a[i]a[i+1]...a[i+n2-1]=a[i]a[i+1]...a[i+n2-1]-b[0]b[1]...b[n2-1];
c[i]++;
}while(a[i]>=0);
/*最后一次减法导致了负数,需要还原*/
c[i]--;
a[i]a[i+1]...a[i+n2-1]=a[i]a[i+1]...a[i+n2-1]+b[0]b[1]...b[n2-1];
}
c[i]=='\0';/*结束*/
fireseed 2003-09-22
  • 打赏
  • 举报
回复
求 1/b的数学表达

若存在整数a,a 不等于0,且a小于整数运算的极值。
另设x为任意整数,则有:
b = a * x;

1/b = 1 / ( a * x ) = ( 1 / a ) * ( 1 / x )
将此式记为函数f,那么有:

若 x < a 则 1/b = 1 / ( a * x ) = ( 1 / a ) * ( 1 / f(x) )
否则 1/b = 1 / ( a * x ) = ( 1 / a ) * ( 1 / x )
kbsoft 2003-09-22
  • 打赏
  • 举报
回复
:-0我这里没编译器。
你还是用高精度吧
kbsoft 2003-09-22
  • 打赏
  • 举报
回复
#include "LongInt.h" //去上面的下载地址下载
typedef CLongInt<70> BigInteger;
int main(void)
{
BigInteger bnum;
cin>>bnum;
cout<<1/bnum;
return 0;
}
vteth 2003-09-22
  • 打赏
  • 举报
回复
谢谢了。
关键是如何解决这个问题:1除以一个很大的数怎么除
fireseed 2003-09-22
  • 打赏
  • 举报
回复
给你一点提示:
1.
( a * b ) / c
等价于
a * ( b / c )


2.
a * b
等价于
i<a
Σ b
i=0


3. 大数的加法会写吧?
fireseed 2003-09-22
  • 打赏
  • 举报
回复
1.
( a * b ) / c
等价于
a * ( b / c )


2.
a * b
等价于
i<a
Σ b
i=0


3. 大数的加法会写吧?
zhusunme 2003-09-22
  • 打赏
  • 举报
回复
建议:
可以参照一下两个寄存器64位做除法的方法
kbsoft 2003-09-22
  • 打赏
  • 举报
回复
用高精度吧。或者去http://www.codeguru.com/algorithms/Calc.html
下载一个LongInt.h 可以存放很大的整数

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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