将模数运算符移动到等式的另一侧

时间:2014-01-03 22:16:30

标签: math modulus

我的数学问题是编程问题的一部分

我有一个像

这样的陈述
a = b%30;

如何根据b计算a

我考虑了一下,但无法理解。

2 个答案:

答案 0 :(得分:5)

根据定义,

b == 30*n + a

表示某个整数n

请注意,有多个b值可以为您提供相同的a

>>> b = 31
>>> b % 30
1
>>> b = 61
>>> b % 30
1

答案 1 :(得分:1)

首先,显然,对于给定的ba通常有几种解决方案。

如果%是大多数编程语言中的余数运算符,则a的符号至关重要。你知道这是一个编程问题的网站,对吗?

如果| a |> = 30,则没有解决方案

如果a = 0,则解是30的倍数。

如果0< a< 30,解决方案都是bb = 30 * k + a为正整数k

如果-30< a< 0,解决方案都是bb = - (30 * k - a)为某个正整数k