hdu1023卡特的问题
杂谈
作者: 神回复
2015-08-28 21:59:53
[ 闻蜂导读 ] 请教一个hdu1023卡特的问题。求解答hdu1023

  1. import java.math.BigInteger;  

  2. import java.util.Scanner;  

  3. public class Main  

  4. {  

  5.     static BigInteger fac(BigInteger n)  

  6.     {  

  7.         BigInteger result=BigInteger.ONE;  

  8.         for(BigInteger i=BigInteger.ONE;!i.equals(n.add(BigInteger.ONE));i=i.add(BigInteger.ONE))  

  9.         {  

  10.             result=result.multiply(i);  

  11.         }  

  12.         return result;  

  13.     }  

  14.     public static void main(String args[])  

  15.     {  

  16.         Scanner cin=new Scanner(System.in);  

  17.         while(cin.hasNext())  

  18.         {  

  19.             BigInteger n=cin.nextBigInteger();  

  20.             BigInteger total=fac(n.add(n)).divide(n.add(BigInteger.ONE).multiply(fac(n).pow(2)));  

  21.             System.out.println(total.toString());  

  22.         }  

  23.     }  

  24. }  

 

 

 

 

hdu 1023 卡特兰数经典

 

 

 

#include <iostream>

using namespace std;
int a[105][105];
int b[105];
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;
    }
}
int main(int argc, char *argv[])
{
    int n,i;
    catalan();
    int j;
    while (cin >> n)
    
       for(j = b[n] - 1; j >= 0; j--)
       {
         printf("%d",a[n][j]);
 
       }
        printf("\n");
 
    }
    return 0;
}
 

更多关注微信公众号:jiuwenwang

相关文章

  • 刘旷的头像

    刘旷

    购团邦资讯网创始人

  • 冯耀宗的头像

    冯耀宗

    IT评论者、互联网观察员、SEO专家

  • 卢松松的头像

    卢松松

    百强自媒体、IT博客50强、创业者

  • 康斯坦丁的头像

    康斯坦丁

    知名IT评论人,科幻星系创建人,多家知名媒体及企业特邀顾问专家

  • 王雪华的头像

    王雪华

    RUN媒体创始人

  • 月光博客的头像

    月光博客

    知名IT独立博客作者龙威廉


  • 验证码: 看不清?点击更换 看不清? 点击更换
  • 意见反馈
    意见反馈
    返回顶部