标签: modulo

使用模数返回时间组件

有人在一个班次中完成20小时42分钟和16秒,共计74536秒.如何获得该人为该班次所做的秒数?

20 * 60 * 60      =    72000
     42 * 60      =     2520
          16      =       16
                  +    -----
Total             =    74536
____________________________
Total % 60        =  Seconds (16)
Total % ?         =  Minutes (42)
Total % ?         =    Hours (20)
Run Code Online (Sandbox Code Playgroud)

已经尝试了84600; 事实证明,当一个数字低于模数时,它真的不是很有用,而且我必须要抓住的东西应该有人只能登录几秒钟......

time epoch modulo

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

取负数的模数有意义吗?

我很好奇,因为我们在2年前写的代码中发现了一个错误.我们用0x8000初始化了一个16位有符号整数(该平台当然使用2的补码表示为负数).在一个难以重现的特殊情况下,对该变量执行10的模数以提取十进制表示中的各个数字,同时该值仍为0x8000(-32768).-32768%10 == 248这对我们的应用程序毫无意义.

我们的平台是OKI 411微控制器.

我很好奇,虽然在这种情况下采用负数模数没有任何意义,是否有任何现实生活中的例子或实际理由或以某种方式通过取负数的模数获得利益?

integer modulo

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

如果不是x%y:做点什么

我对Python中的以下语句有疑问

if not x % y: 
    # do something
Run Code Online (Sandbox Code Playgroud)

在一段代码中看到这个并进行实验之后,我发现如果modulo评估为零,那么它将跳过"做某事"代码.

我的问题是,是否存在关于隐含条件的If和If语句的一般规则,是否有像这样的Python"技巧"的良好引用?

我为这个广泛的问题道歉,但是当我第一次看到它时,这让我陷入了困境.我想尽可能多地学习这些简单的技巧!

python modulo

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

使用底片时,Modulo返回错误的结果

我想计算:( - 15%3)应该是0但是我得到1:

当我明确地做:

int IntFcn (const void *key, size_t tableSize)
{
    printf("%d\n",(*(int*)key)); // prints -15
    printf("%d\n",tableSize); // prints 3
    printf("%d\n",(-15) % 3); // prints 0
}
Run Code Online (Sandbox Code Playgroud)

我得到了正确的结果(0)但是当我尝试使用下面的变量时我得到1:

int IntFcn (const void *key, size_t tableSize)
{
    printf("%d\n",(*(int*)key)); // prints -15
    printf("%d\n",tableSize); // prints 3
    printf("%d\n",((*(int*)key) % tableSize)); // prints 1
    return ((*(int*)key) % tableSize);
}
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

c modulo

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

python整数除法错误 - 以零为模 - BUT除数!= 0

我是使用python进行简单数学运算的新手,很抱歉,如果这是一个愚蠢的问题.

我有8个变量都设置为整数,这些整数在执行简单计算时使用.

a = 0
b = 17
c = 152
d = 1
e = 133
f = 19
g = 20
h = 0

answer = ( ( ( a / f ) + b + c ) - ( g + ( h / f ) ) ) / ( d / f )

print answer
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,我得到错误,ZeroDivisionError:整数除法或模数为零.

我已经读过关于这个错误的所有文档指向我的除数为零,但是如果我用数字作为字符串来代替变量打印,我得到:

( ( ( 0 / 19 ) + 17 + 152 ) - ( 20 + ( 0 / …
Run Code Online (Sandbox Code Playgroud)

python division modulo

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

费马小定理在MATLAB中失败了吗?

我目前正在尝试在MATLAB中编写一个程序来检查数字n是否为素数.对于初学者,我正在实施Fermat Primality Test.

费马指出,对于黄金p1 <= b < p:

b^(p-1) = 1  (mod p)
Run Code Online (Sandbox Code Playgroud)

所以在MATLAB中用p = 17,和b = 11

>> mod(b^(p-1),p)
Run Code Online (Sandbox Code Playgroud)

要么

>> rem(b^(p-1),p)
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是MATLAB返回的实例0.但是,如果p是素数,它应该返回1.我看不出我错过了什么,所以非常感谢任何帮助!

floating-point matlab primes modulo number-theory

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

在一个范围内随机,是否为新的rand()版本存在数字偏差?

从各种其他SO问题中读取,当使用rand()%N时,您可能会修改您获得的伪数的偏差,因此您通常必须引入一些范围处理.

但是在所有情况下总是提到rand(),而不是较新的random()或arcrandom4()函数或本机C++ 11方法.当你在一组上运行这些例程时会发生什么?你有像rand()那样的偏见吗?

谢谢.

c++ random math distribution modulo

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

为什么C和Ruby之间的模运算符(%)的行为对于负整数是不同的?

我在这里运行一些代码.我试过了-40 % 3.它给了我输出2.当我在C中执行相同的操作时,我得到:

int i = (-40) % 3
printf("%d", i);
Run Code Online (Sandbox Code Playgroud)

输出是

-1
Run Code Online (Sandbox Code Playgroud)

两种语言如何在内部执行模运算?

c ruby math implementation modulo

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

循环通过字符串

我需要能够使用模运算符循环一串字符,以便每个字符都可以传递给一个函数.我知道这是一个简单的问题,但我对如何做到这一点感到非常困惑.这是我的,但它给了我错误"TypeError:不是在字符串格式化期间转换的所有参数".任何建议,将不胜感激.

key = 'abc'
def encrypt(key,string):
    c = ''
    for i in range(0,len(string)):
        t = (key)%3
        a = XOR(ord(string[i]),ord(t))
        b = chr(a)
        c = c + b
    return(c)
Run Code Online (Sandbox Code Playgroud)

python iteration modulo

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

如何正确使用Mod 10 ^ 9 + 7

在Java中,我需要计算前n个数的平方和,即

1^2 + 2^2+ 3^2+.....+n^2
Run Code Online (Sandbox Code Playgroud)

是的

n(n+1)(2n+1)/6   
Run Code Online (Sandbox Code Playgroud)

要么

n^3/3 + n^2/2 + n/6
Run Code Online (Sandbox Code Playgroud)

然后我需要计算另一个值

n*(n-1/2)^2
Run Code Online (Sandbox Code Playgroud)

因为n将是非常大的答案可以是"回答%M",其中M是10 ^ 9 + 7.

我无法理解我应该在哪个计算点操作%M.例如

n%M * (n+1)%M (2n+1)%M /  6 
Run Code Online (Sandbox Code Playgroud)

要么

(n(n+1)(2n+1)/6)%M
Run Code Online (Sandbox Code Playgroud)

你能帮帮我吗?一般情况下,请提供使用%M的指南;以便我可以在下次继续决定.

java algorithm largenumber modulo

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