Exemple #1
0
    def test_pow(self):
        m = ModularSolver(31)

        self.assertEqual(m.pow(2, 5), 1)
        self.assertEqual(m.pow(2, 31), 2)
        self.assertEqual(m.pow(2, 33), 8)
        self.assertEqual(m.pow(10, 13), 10 ** 13 % 31)
        self.assertEqual(m.pow(13, 10), 13 ** 10 % 31)
        self.assertEqual(m.pow(2, 40), 2 ** 40 % 31)

        m = ModularSolver(11)
        self.assertEqual(m.pow(10, 13), 10 ** 13 % 11)
        self.assertEqual(m.pow(13, 10), 13 ** 10 % 11)