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

  • 本文关键字:运算符 移动 math modulus
  • 更新时间 :
  • 英文 :


我有一个数学问题,这是我编程问题的一部分

我有一个声明,比如

a = b%30;

如何根据a计算b

我想了想,但想不通。

根据定义,

b == 30*n + a

对于某些整数n.

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

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

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

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

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

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

如果 0 <<30,则解都是b,以便b = 30 * k + a某个正整数k

如果 -30 <<0,则解都是b,以便b = - (30 * k - a)某个正整数k

最新更新