zoukankan      html  css  js  c++  java
  • 如何求卡特兰数——代码如下

    void catalan() //求卡特兰数

    {

        int i, j, len, carry, temp;

        a[1][0] = b[1] = 1;

        len = 1;

        for(i = 2; i <= 100; i++)

        {

            for(j = 0; j < len; j++) //乘法

                a[i][j] = a[i-1][j]*(4*(i-1)+2);

            carry = 0;

            for(j = 0; j < len; j++) //处理相乘结果

            {

                temp = a[i][j] + carry;

                a[i][j] = temp % 10;

                carry = temp / 10;

            }

            while(carry) //进位处理

            {

                a[i][len++] = carry % 10;

                carry /= 10;

            }

            carry = 0;

            for(j = len-1; j >= 0; j--) //除法

            {

                temp = carry*10 + a[i][j];

                a[i][j] = temp/(i+1);

                carry = temp%(i+1);

            }

            while(!a[i][len-1]) //高位零处理

                len --;

            b[i] = len;

        }

    }

  • 相关阅读:
    UVA 10391 STL容器的使用
    UVA 10763
    UVA 10935
    UVA 洪水
    UVA 1594 set 里面放queue
    关于STL 容器的嵌套使用, 小试牛刀
    丑数 UVA 136
    UVA 1368 DNA
    antd 上传文件控件使用方法(坑)
    mysql查询一条工单时间需要10秒。优化sql语句得以解决。
  • 原文地址:https://www.cnblogs.com/sxmcACM/p/3287934.html
Copyright © 2011-2022 走看看