首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当m是素数时,如何计算nPr模m?

当m是素数时,如何计算nPr模m?
EN

Stack Overflow用户
提问于 2014-03-07 15:04:42
回答 1查看 965关注 0票数 0

我要找出nPr%的价值。

这就是我使用的方法。

找到,n!%m,(n-r)!%m并将它们分开

但是,在某些情况下,( nPr )%m大于n!%m,因此得到的nPr为0。

那我该怎么办?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-07 15:09:41

这更像是一个数学题,而不是一个程序问题,但无论如何。

请注意,

代码语言:javascript
复制
n! / (n - r)! = n * (n - 1) * ... * (n - r + 1)

现在是乘法,

代码语言:javascript
复制
(a * b * c) % m = (((a * b) % m) * c) % m

也就是说,与其对整个产品进行mod m,您还可以将乘积中任何两个因素的乘积的中间结果mod m

我不会在这里提供完整的代码,但希望这足以让您解决它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22253628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档