递归做1元钱换零钱

来源:互联网 发布:淘宝的宝贝描述分数 编辑:程序博客网 时间:2024/05/01 21:00

给定足够的 5角,2角,1角,5分,2分,1分这六种零钱,将1元(100)换成零钱,一共有多少种换法?

int kind[5] = {50,25,10,5,1};

int f(int n,int k)
{
    if(n==0){
        //printf("ok\t");
        return 1;
    }
    
    if(n<0){
        return 0;
    }


    if(k<=0){
        return 0;
    }


    return f(n-kind[k-1],k) + f(n,k-1);

}


http://xaajie.iteye.com/blog/461423