我有一个数学问题,这是我编程问题的一部分
我有一个声明,比如
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
。