我怎么能分得很大? [英] how can i large divide?

查看:65
本文介绍了我怎么能分得很大?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想分得很大。


输入是1~1024位整数。


首先,我认为使用sub是解决方案。


所以我做了两个阵列。分红除此。


但这种情况发生了。


执行10000000000/1这种计算需要花费很多时间。


导致需要10000000000次计算。


大量,我怎样才能有效地划分计算?

i wanna large divide.

input is 1~1024 bit integer.

first, i think using sub is solution.

so i made two array. and sub divisor to dividend.

but this situation happen.

execute 10000000000 / 1 this calulation take so many time.

cause 10000000000 number of calculation are needed.

in large number, how can i divide calculation efficiently ??

推荐答案

jt*****@naver.com schrieb:
jt*****@naver.com schrieb:

大量,如何有效地划分计算?
in large number, how can i divide calculation efficiently ??



TAOCP,第2卷,第4.6.1节,算法D(第421页)


问候,

Johannes


-

" Wer etwas kritisiert muss es noch lange nicht selber besser k?nnen。 Es

reicht zu wissen,da? andere es besser k?nnen und andere es auch

besser machen um einen Vergleich zu bringen。 - Wolfgang Gerber

in de.sci.electronics< 47 *********************** @ news.freenet.de>

TAOCP, Volume 2, Chapter 4.6.1, Algorithm D (page 421)

Regards,
Johannes

--
"Wer etwas kritisiert muss es noch lange nicht selber besser k?nnen. Es
reicht zu wissen, da? andere es besser k?nnen und andere es auch
besser machen um einen Vergleich zu bringen." - Wolfgang Gerber
in de.sci.electronics <47***********************@news.freenet.de>


Johannes Bauer schrieb:
Johannes Bauer schrieb:
jt*****@naver.com schrieb:
jt*****@naver.com schrieb:

>大量,如何有效地划分计算?
>in large number, how can i divide calculation efficiently ??



TAOCP,第2卷,第4.6.1节,算法D(第421页)


TAOCP, Volume 2, Chapter 4.6.1, Algorithm D (page 421)



哎呀,错误。我的意思是:


TAOCP,第2卷,第4.3.1节,算法D(第272页)


问候,

Johannes


-

" Wer etwas kritisiert muss es noch lange nicht selber besser k?nnen。 Es

reicht zu wissen,da? andere es besser k?nnen und andere es auch

besser machen um einen Vergleich zu bringen。 - Wolfgang Gerber

in de.sci.electronics< 47 *********************** @ news.freenet.de>

Oops, wrong. I meant:

TAOCP, Volume 2, Chapter 4.3.1, Algorithm D (page 272)

Regards,
Johannes

--
"Wer etwas kritisiert muss es noch lange nicht selber besser k?nnen. Es
reicht zu wissen, da? andere es besser k?nnen und andere es auch
besser machen um einen Vergleich zu bringen." - Wolfgang Gerber
in de.sci.electronics <47***********************@news.freenet.de>


jt*****@naver.com 写道:
jt*****@naver.com wrote:

i想要大的鸿沟。

输入是1~1024位整数。

首先,我认为使用sub是解决方案。

所以我制作了两个阵列。分红除此。

但是这种情况发生了。

执行10000000000/1这个计算需要这么多时间。

导致10000000000的数量需要计算。

大量,如何有效地划分计算?
i wanna large divide.
input is 1~1024 bit integer.
first, i think using sub is solution.
so i made two array. and sub divisor to dividend.
but this situation happen.
execute 10000000000 / 1 this calulation take so many time.
cause 10000000000 number of calculation are needed.
in large number, how can i divide calculation efficiently ??



您可以尝试使用像GMP这样的bignum库。他们使用了几种

算法来最大化速度,并为角落情况提供特殊代码

就像这样。


注意:你的问题有与C无关,这就是这个小组

的地址。因此,您可能希望将来尝试使用comp.programming进行算法和一般编程实践的问题。

You might try using a bignum library like GMP. They employ several
algorithms to maximise speed and have special code for corner cases
like this.

Note: Your question has nothing to do with C, which is what this group
addresses. So you might want to try comp.programming in future for
questions on algorithms and general programming practises.


这篇关于我怎么能分得很大?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆