如何在python中反转%运算

2024-06-16 11:35:12 发布

您现在位置:Python中文网/ 问答频道 /正文

例如:

x = (y*6) % 26 #this is  a consistent formula
18 = (y*6) % 26

我怎么解y?或者,有没有一种方法可以轻松地逆转%操作?在


Tags: 方法isthisconsistentformula
3条回答

你不能真的像那样反转模运算。模算术基本上返回等价组。想想日历。。。在

日历和时钟是mod。在

10月后3个月为1月,即(10+3)%12==1
10月后的15个月是1月。即(10+15)%12==1
等。。。在

所以你的问题似乎在问,如果你能通过知道它是哪个日历月来判断它是哪一年,这当然是不可能的

没有确切的方法来反转操作,因为您丢失了信息,因为只有当两个数字被除时,%才给您余数。在

这就像说如果我把x除以6,我得到一个整数和3的余数。我不能说X是什么-,可能是9,也可能是15,或者是无限多个可能性中的任何一个。要计算出它,你需要整数和模。在

你为什么要这么做-如果你告诉我们更多你想解决的问题,也许我们能帮上忙。在

18=(y*6)%26

意味着

y*6=n*26+18,其中n可以是任何整数值。所以

y=n*26/6+3

或者

y=n*13/3+3

你现在可以说y也是一个整数。这只发生在

y=n*13+3

所以,y=3,16,29,42。。。在

相关问题 更多 >