标签: ncr

为n(10 ^ 9)的大值计算nCr mod m(n选择r)

现在CodeSprint 3已经结束了,我一直想知道如何解决这个问题.对于r和n的大值,我们需要简单地计算nCr mod 142857(0 <= n <= 10 ^ 9; 0 <= r <= n).我使用递归方法,通过min(r,nr)迭代来计算组合.结果证明这不够有效.我尝试过几种不同的方法,但它们似乎都不够高效.有什么建议?

ncr modulo

5
推荐指数
1
解决办法
5118
查看次数

正则表达式替换&#58; 到":"等

我有一堆像以下一样的字符串:

"Hello, here's a test colon&#58;. Here's a test semi-colon&#59;"
Run Code Online (Sandbox Code Playgroud)

我想替换它

"Hello, here's a test colon:. Here's a test semi-colon;"
Run Code Online (Sandbox Code Playgroud)

等等所有可打印的ASCII值.

目前我正在使用boost::regex_search匹配&#(\d+);,在我依次处理每个匹配时构建一个字符串(包括追加自我找到的上一个匹配以来没有匹配的子字符串).

谁能想到更好的方法呢?我对非正则表达式方法持开放态度,但在这种情况下,正则表达式似乎是一种合理的方法.

谢谢,

大教堂

c++ regex boost ascii ncr

4
推荐指数
1
解决办法
5744
查看次数

用Java打印所有可能的nCr组合

我正在尝试打印nCr的所有可能性,这是订单无关紧要时的组合.所以5C1有5种可能性:1,2,3,4,5.5C2有10种可能性:1 2,1 3,1 4,1 5,2 2,3,2,4,5 3,4 4,3 5, 4 5.

我制作的函数打印出我想要的r = 2,r = 3和r = 4,我有点看到模式,但我似乎无法为变量r创建一个工作方法:

public void printCombinationsChoose2(int n, int k) //for when k = 2
{
    for (int a = 1; a < n; a++)
    {
        for (int b = a + 1; b <= n; b++)
        {
            System.out.println("" + a + " " + b);
        }
    }
}

public void printCombinationsChoose3(int n, int k) //for when k = 3
{
    for (int a = 1; …
Run Code Online (Sandbox Code Playgroud)

java statistics ncr

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

ncr ×3

ascii ×1

boost ×1

c++ ×1

java ×1

modulo ×1

regex ×1

statistics ×1