如何计算n的大值的log(n)的mod

时间:2013-08-10 11:18:14

标签: c++ algorithm math computer-science

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

1 个答案:

答案 0 :(得分:-2)

如果rounding首先将小于1的数字存储在float变量中(您将通过从原始float中减去舍入变量来获取它们),然后使用舍入值进行模数。然后加上浮点变量

这会解决您的问题吗?

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

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

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

因为Windows的计算结果会给你