2014-10-10 151 views
2

例如:如何扭轉%操作蟒蛇

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

我將如何解決y的?或者是否有方法可以輕鬆地反轉%操作?

+4

沒有一種簡單的方法。 'y'有多種解決方案。 – 2014-10-10 14:15:55

+0

http://rosettacode.org/wiki/Modular_inverse#Python如果有幫助。 – karthikr 2014-10-10 14:17:48

+0

我該如何解決y?我不知道如何處理涉及%的變量移動 – sudobangbang 2014-10-10 14:19:30

回答

0

沒有確切的方法來扭轉操作,因爲您丟失了信息,因爲只有兩個數字被分割時,%纔會給出餘數。

這就好像在說如果我將x除以6得到一個整數並且餘數爲3.我不能說X是什麼 - 它可能是9,也可能是15,或者是任意數量的可能性。要解決它,你需要整數和模數。

你爲什麼試圖做到這一點 - 或許我們可以幫助,如果你告訴我們更多的問題,你正試圖解決。

4

你不能像這樣反轉模運算。模數算術基本上返回等價組。想想日曆...

日曆(以及時鐘信號)是國防部12

3個月後十月是一月份,即(10 + 3)%12 == 1
後15個月月是一月。即(10 + 15)%12 == 1
等等

所以你的問題似乎問你是否可以告訴它是哪一年通過了解它是什麼歷月,這當然是不可能的

+0

這是一個完美的比喻!愛它! – 2014-10-16 18:24:41

0

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,...