小编bec*_*cko的帖子

x(x-1)/ 2 = c的快整数解

给定一个非负整数c,我需要一个高效的算法来找到最大的整数x使得

x*(x-1)/2 <= c
Run Code Online (Sandbox Code Playgroud)

同样,我需要一个高效且可靠的精确算法来计算:

x = floor((1 + sqrt(1 + 8*c))/2)        (1)
Run Code Online (Sandbox Code Playgroud)

为了定义,我标记了这个问题C++,所以答案应该是用该语言编写的函数.您可以假设这c是一个无符号的32位int.

此外,如果您可以证明(1)(或涉及浮点运算的等效表达式)总是给出正确的结果,那也是一个有效的答案,因为现代处理器上的浮点数可能比整数算法更快.

c++ algorithm integer-arithmetic

1
推荐指数
1
解决办法
434
查看次数

检查是否设置了ArgParse可选参数(在Julia中)

这基本上是同一个问题:检查是否设置了argparse可选参数,但在Julia中,使用Julia的ArgParse模块.

给定一个带有值的参数,我想知道它的值是否给定.

julia argparse.jl

1
推荐指数
1
解决办法
375
查看次数

准确的 sqrt(1 + (x/2)^2) + x/2

我需要sqrt(1 + (x/2)^2) + x/2数值计算,对于 positive x。对于非常大的 值,使用此表达式直接失败x。我怎样才能重写它以获得更准确的评估?

language-agnostic floating-point numeric numerical-computing

1
推荐指数
1
解决办法
250
查看次数

如果我没有用srandom()初始化它,那么random()使用的种子是什么?

random()如果我没有初始化它,那么C使用的种子是什么srandom()?是系统时间吗?

c random

0
推荐指数
1
解决办法
67
查看次数

使用 Tensorflow 进行三重张量积

假设我有一个矩阵A和两个x,y适当维度的向量。我想计算点积x' * A * y,其中x'表示转置。这应该会产生一个标量。

Tensorflow中有方便的API函数来做到这一点吗?

(请注意,我使用的是 Tensorflow 2)。

linear-algebra tensorflow tensorflow2.0

0
推荐指数
1
解决办法
225
查看次数

如何更改`valarray`的默认`operator ==`?

我可以创建自己的过载==valarray<double>?我不喜欢默认行为,其中x==y(对于valarrays xy)返回一个valarray<bool>.我希望它返回单个bool,trueif xy具有相同的值.

我可以覆盖operator==for 的默认重载valarray<double>.

c++ stl

-2
推荐指数
1
解决办法
73
查看次数