首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >帮助重排/solving公式

帮助重排/solving公式
EN

Stack Overflow用户
提问于 2010-02-19 07:00:58
回答 2查看 394关注 0票数 2

我有下面的C公式

代码语言:javascript
复制
bucket = (hash - _min) * ((_capacity-1) / range());

我需要重新排列等式,以返回_capacity而不是bucket (除了_capacity之外,我还有其他所有变量)。例如:

代码语言:javascript
复制
96 = (926234929-805306368) * (( x -1) /1249540730)
836 = (1852139639-805306368) * ((x -1) /1249540730)

正如你所看到的,这是一个相当简单的方程,我所需要的就是左边的x。但是我的代数很生疏,所以感谢任何帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-02-19 07:03:11

代码语言:javascript
复制
capacity = (range() * bucket) / (hash - _min) + 1;

代码语言:javascript
复制
bucket = (hash - _min) * ((_capacity - 1) / range()); // start
bucket = ((hash - _min) * (_capacity - 1)) / range(); // rearrange
range() * bucket = (hash - _min) * (_capacity - 1); // multiply by range
(range() * bucket) / (hash - _min) = _capacity - 1; // divide by (hash - _min)
(range() * bucket) / (hash - _min) + 1 = _capacity; // add 1
capacity = (range() * bucket) / (hash - _min) + 1; // rearrange
票数 7
EN

Stack Overflow用户

发布于 2010-02-19 07:04:06

代码语言:javascript
复制
_capacity = 1 + bucket / (hash - _min) * range();

其中规定hash不能再等同于_min

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2292898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档