小编use*_*705的帖子

找到大数的组合值

我想找到(n选择r)大整数,我也必须找出那个数字的mod.

long long int choose(int a,int b)
{
    if (b > a)
        return (-1);
    if(b==0 || a==1 || b==a)
        return(1);
    else
    {
        long long int r = ((choose(a-1,b))%10000007+(choose(a-1,b-  1))%10000007)%10000007;
        return r;
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用这段代码,但我得到了TLE.如果有其他方法可以做,请告诉我.

c++ combinations

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

使用malloc的数组中的SIGSEGV错误

我在这段代码中收到SIGSEGV错误,我无法弄明白.所以请有人帮助我.我无法理解如果我通过malloc函数将内存分配给数组,我必须以零索引或1启动它.

#include<iostream>
#include<stdio.h>
using namespace std;
#include<malloc.h>

long long int gold_coins(long long int[],long long int);

int main()
{
    long long int n,i,d;
    long long int* m;
    cin>>n;
    while(n!=EOF)
    {
        m = (long long int*) malloc(n+1);
        for(i=0;i<=n;i++)
           m[i]=i;
        d=gold_coins(m,n);
        cout<<d<<endl;
        cin>>n;
    }
    return(0);
}

long long int gold_coins(long long int m[],long long int n)
{
    if(n<4)
        return m[n];
    else
    {
        long long int q=gold_coins(m,n/2)+gold_coins(m,n/3)+gold_coins(m,n/4);
        if(q>m[n])
            m[n]=q;
        return(m[n]);
    }
}
Run Code Online (Sandbox Code Playgroud)

提前致谢.

c++ malloc

-6
推荐指数
1
解决办法
176
查看次数

标签 统计

c++ ×2

combinations ×1

malloc ×1