怎么计算
指数不能为负。负的底数会先化为0到模数之间的余数。
结果 = 底数 ^ 指数 mod 模数
数字从哪来
- 底数
- 指数
- 模数
示例
2^10 mod 1000 = 1024 mod 1000 = 24.
问题
为什么不直接计算乘方?
2^100已经极大。按模一步步相乘,中间结果仍然很小。
模数为1?
任何幂对模数1取余都等于0。
零次幂吗?
得到1;在本计算器里,底数为零时也是如此。
在模意义下连乘底数,并把指数不断加倍。
指数不能为负。负的底数会先化为0到模数之间的余数。
结果 = 底数 ^ 指数 mod 模数
2^10 mod 1000 = 1024 mod 1000 = 24.
2^100已经极大。按模一步步相乘,中间结果仍然很小。
任何幂对模数1取余都等于0。
得到1;在本计算器里,底数为零时也是如此。