保險櫃密碼推算公式
來源:魅力女性吧 1.34W
迭代分析第n次的密碼計算公式:
X0 = 0000 0001
X1 = (3 * X0) % 108 + (3 * X0) / 108,顯然,X1< 108
X2 = (3 * X1) % 108 + (3 * X1) / 108
= {3 * [(3 * X0) % 108 + (3 * X0) / 108]} % 108 + {3 * [(3 * X0) % 108 + (3 * X0) / 108]} / 108
   = {3 * [(3 * X0) % 108]} % 108 + {3 * [(3 * X0) / 108]}(顯然其值<9) % 108 
      + {3 * [(3 * X0) % 108 ]} / 108 + {3 * [(3 * X0) / 108]} / 108(顯然其值趨於0)
   = (32 * X0) % 10(由分配率得) + (32 * X0) / 108 + [(32 * X0) % 108 ] / 108(趨於0忽略) + 0
   = (32 * X0) % 10 + (32 * X0) / 108
X3 = (33 * X0) % 10 + (33 * X0) / 108
以此類推可得:
Xn = (3n * X0) % 10 + (3n * X0) / 108
又因:X0 = 1,所以:Xn = 3n % 10 + 3n / 108
關於計算3n:
1、簡單處理的話可以n個3聯乘,時間複雜度O(n),當n較大時比較耗時,此題暫時不考慮大數問題
2、當n為偶數時,3n=[3(n/2)]2,當n為奇數