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;

        }

    }

  • 相关阅读:
    解决svn Authorization failed错误
    jQuery切换事件
    jQuery学习笔记
    EAS开发
    JavaScript第二课
    JavaScript学习第一课
    EAS常用工具类
    [转]OpenBLAS项目与矩阵乘法优化
    [转]mmap和madvise的使用
    [转]C++赋值运算符重载函数(operator=)
  • 原文地址:https://www.cnblogs.com/sxmcACM/p/3287934.html
Copyright © 2011-2022 走看看