-1

我必须解决 C++ 中的一个问题,其中我必须计算形成为 10^n 的数字的模数。但问题是 n 是一个浮点数,所以如果我将 10^n 计算为 pow(10.0, n) 那么它可能会溢出。所以我正在寻找一个可以计算 10^n mod m 而没有任何溢出问题的解决方案。我通常使用 Python,它非常简单,我不知道如何用 C++ 解决。

4

1 回答 1

-2

如何先四舍五入,将小于 1 的数字存储在浮点变量中(您将通过从原始浮点数中减去舍入变量来获得它们),然后对舍入值进行取模。然后将浮点变量相加

这会解决你的问题吗?

编辑(见评论和更好看;-))

 10^7.4 = 25118864.315[...]
 --> round = 25118864,
     float = 0.315,
     round % 6 = 2,

 --> (10^7.4)%6 = 2 + 0.315 = 2.315

因为 calc at windows 会给你

于 2013-08-10T12:34:20.993 回答