【发布时间】:2020-10-31 03:20:02
【问题描述】:
对于我的离散结构类,我必须用 C++ 计算 53^37 (mod 77)。在纸上我知道这相当于 4,但是在尝试自己编写代码并四处搜索之后,我似乎无法让它等于 16 以外的任何值。我假设这是因为 53^37 的数字太大了商店。
【问题讨论】:
-
想想每次乘法时值(mod 77)会发生什么变化。你不需要计算 53^37。
-
对于任何标准的内置类型,即使在现代 C++ 中,您也无法使用任何基本的整数或整数类型来编译或计算它。对值的操作将导致溢出。您要么需要包含一个“大型 int”库,该库还支持整数的 pow 函数,要么自己编写。