相关疑难解决方法(0)

Python中负数的模运算

我在Python中发现了一些关于负数的奇怪行为:

>>> -5 % 4
3
Run Code Online (Sandbox Code Playgroud)

谁能解释一下发生了什么?

python modulo negative-number

64
推荐指数
6
解决办法
5万
查看次数

Mod Zero不能?

为什么X % 0表达无效?

我一直认为X % 0应该等于X.既然你不能除以零,那么答案自然不应该是余数,X(剩下的一切)?

c++ modulo divide-by-zero

56
推荐指数
3
解决办法
5万
查看次数

旋转插值

注意:我会在程度上提出这个问题纯粹是为了简单,弧度,度,不同的零轴承,问题基本相同.

有没有人对旋转插值背后的代码有任何想法?给定线性插值函数:Lerp(from,to,amount),其中amount为0 ... 1,返回from和from之间的值.如何将相同的功能应用于0到360度之间的旋转插补?鉴于度数不应该在0和360之外返回.

给定度数的这个单位圆:

单位圈

从= 45到= 315,算法应该采用到角度的最短路径,即它应该经过零,到360然后到315 - 而不是一直到90,180,270到315.

有没有一个很好的方法来实现这一目标?或者它只是一个可怕的if()块?我错过了一些很好理解的标准方法吗?任何帮助,将不胜感激.

math interpolation rotation

27
推荐指数
3
解决办法
2万
查看次数

Objective-C中的模运算符返回错误的结果

当我在Objective-C中进行模运算时,我得到的结果让我有点吓坏了.-1%3现在是-1,这不是正确的答案:根据我的理解,它应该是2. -2%3出现-2,这也是不对的:它应该是1.

除了%运算符之外,我还应该使用另一种方法来获得正确的结果吗?

math objective-c modulo

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

使用扩展欧几里德算法创建RSA私钥

这是我在学校做的一项任务.我在生成私钥时遇到问题.我的主要问题是理解我的方程式之间的关系.为了设置一切,我们有:

p = 61
q = 53
n = p * q (which equals 3233)
Run Code Online (Sandbox Code Playgroud)

从这里我们得到n(phi(n))的总数等于3120,现在我们可以选择素数e; 其中1 <e <3120

e = 17
Run Code Online (Sandbox Code Playgroud)

好的很容易.

对于我的任务,我们已经意识到d = 2753,但是我仍然需要能够任意生成这个值.

现在这里是我遇到麻烦的地方.我一直在仔细阅读维基百科以及某些东西没有连接.我知道,我需要找到模反元素e (mod phi(n)),这将是d我们的私人指数.

通过维基百科阅读告诉我们找到mmi我们需要使用扩展欧几里德算法.我在python中实现了如下算法:

def egcd(a, b):
    x, lastX = 0, 1
    y, lastY = 1, 0
    while (b != 0):
        q = a // b
        a, b = b, a % b
        x, lastX = lastX - q * x, x …
Run Code Online (Sandbox Code Playgroud)

python encryption algorithm rsa modular-arithmetic

5
推荐指数
1
解决办法
2万
查看次数

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

使用 Python 的 `%` 计算 C 的 `%`?

如何%使用 Python计算 C %?两者之间的区别在于它们处理否定论点的方式。

在这两种语言中, 的%定义方式使这种关系(//整数除法)成立:

a // b * b + a % b == a
Run Code Online (Sandbox Code Playgroud)

但是a // bC 和 Python 中的舍入不同,导致a % b.

例如,在 C 中(其中整数除法仅/使用int操作数)我们有:

int a = 31;
int b = -3;
a / b;  // -10
a % b;  // 1
Run Code Online (Sandbox Code Playgroud)

在 Python 中:

a = 31
b = -3
a // b  # -11
a % b  # -2 …
Run Code Online (Sandbox Code Playgroud)

c python modulus

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

C++ 余数和 NumPy/Python 余数之间的区别

在C++中,代码如下:

#include <math.h>
#include <iostream>

int main() {
    std::cout << remainder(-177.14024960054252, 360) << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

使用 x86-64 GCC 12.2 编译(https://godbolt.org/z/43MzbE1ve

输出:

-177.14
Run Code Online (Sandbox Code Playgroud)

然而在Python中:

-177.14
Run Code Online (Sandbox Code Playgroud)

两者输出:

182.85975039945748
Run Code Online (Sandbox Code Playgroud)

根据 numpy 文档,np.remainder正在执行 IEEE 余数函数。根据 C++ 文档,remainder还执行 IEEE 余数函数。

为什么这两个数字不同?

c++ python numpy

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

在Haskell中%做了什么?

我习惯使用%来表示其他语言中的"modulo".在Haskell中,我们必须使用mod x yx `mod` y.那么,Haskell中使用的这个符号是什么?

haskell modulo

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