首页 > 代码库 > HDU 1023
HDU 1023
卡特兰数。把进栈看成是+1,出栈看成是-1,任何时候部分和都有a1+a2+....ak>=0。求这样的数列的个数。这明显是卡特兰数的一个解释嘛。在《组合数学》这本书就有这样的原本的证明。
import java.io.InputStreamReader;import java.math.BigDecimal;import java.math.BigInteger;import java.util.Scanner;public class Main{ public static void main(String args[]){ Scanner in= new Scanner(System.in); BigDecimal []Can=new BigDecimal[110]; BigDecimal B,C,D; Can[1]=new BigDecimal(1); for(int i=2;i<110;i++){ B=new BigDecimal(4*i-2); C=new BigDecimal(i+1); D=Can[i-1].multiply(B); Can[i]=D.divide(C); } while(in.hasNext()){ int n=in.nextInt(); System.out.println(Can[n]); } }}
HDU 1023
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。