【问题标题】:How to get Sigma NcR mod 1000000007如何获得 Sigma NcR mod 1000000007
【发布时间】:2019-12-13 20:30:12
【问题描述】:

我让自己成为了一个关于如何执行 nCr % 1000000007 的函数。

我需要真正找到

(nCr + n2Cr2 + n3Cr3 +... ) % 1000000007

我该如何从这里开始

(nCr%1000000007 + n2Cr2%1000000007 +..) % 1000000007 给了我错误的结果..

我尝试了其他组合但没有用。

告诉我这笔款项是怎么算出来的。

【问题讨论】:

  • 您是否实现了自己的函数来计算nCr?或者你正在使用图书馆来做到这一点?请提供minimal reproducible example 向我们展示您是如何进行计算的。然后解释实际输出与您的预期有何不同。
  • @wally 在这种情况下,我认为nCr 表示"n choose r"
  • 这是欧拉计划问题吗?还是来自类似编码网站的问题?
  • @Code-Apprentice 比 Nitrogen-Chromium 更有意义。

标签: c++ combinations modulo


【解决方案1】:

这里的关键是要注意

(a + b) % n == ((a % n) + (b % n)) % n
(a * b) % n == ((a % n) * (b % n)) % n

您可以在计算nCr 时使用这些来降低溢出风险。

【讨论】:

  • @JosephWood 我们不知道。 OP 没有显示计算nCr 的算法。如果这是直接从数学定义中实现的,它包含许多乘法,并且对于 nr 的中等值很容易溢出 32 位 int。
  • @JosephWood 也许这个答案还为时过早,因为 OP 还没有回答我在这个问题下的第一条评论。
  • 我认为公平地说,目前提出的这个问题不是很清楚,应该关闭。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-12
  • 2013-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多