我目前使用的算法很快就会遇到非常高的数字。我要在算法中的一个步骤将x提高到应用于y的 totient 函数的结果。结果是您可能会遇到非常大的数字。
例如。计算10 模 53的乘法阶数时:
10^totient(53) == 10^52 == 1 * 10^52
以下算法在避免大数字方面表现更好,但在10^mOrder大于数据类型的容量时仍然失败:
mOrder = 1
while 10^mOrder % 53 != 1
if mOrder >= i
mOrder = 0;
break
else
mOrder = mOrder + 1