Jua*_*ora 4 matlab wolframalpha modulus
688 ^ 79 mod 3337 = 1570.
当我在wolfram alpha尝试这个时,我得到了:

但是当我在Matlab中输入同样的东西时,我得到364作为答案.我做错了.

任何关于此的亮点将不胜感激.
Lui*_*ndo 11
原因是Matlab double默认使用浮点运算.大到688 ^ 79的数字不能准确表示为a double.(可以精确表示为a的最大整数double是2 ^ 53的数量级).
要获得正确的结果,您可以使用符号变量,以确保您不会失去准确性:
>> x = sym('688^79');
>> y = sym('3337');
>> mod(x, y)
ans =
1570
Run Code Online (Sandbox Code Playgroud)