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